为什么atof将“ 14718.5084”舍入为14718.5?
有没有办法防止这种情况发生(即获取整数14718.5084)?
码:
double latitude=atof("14718.5084");
std::cout <<"latitude test "<<latitude<< "\n";
输出为:
latitude test 14718.5
谢谢
最佳答案
尝试下面的代码,看它是否完全符合您的要求:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char input [256];
printf("Enter something: ");
gets(input);
printf("Result: %f\n", atof(input));
return 0;
}
也许您在打印时丢失了数字...
尝试这个:
double latitude=atof("14718.5084");
std::cout.precision(9);
std::cout <<"latitude test "<< latitude << "\n";
关于c++ - 函数atof()将其结果四舍五入为整数部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9992211/