为什么圆形"14718.5084"到14718.5?有没有办法防止这种情况(即得到整数14718.5084)?
码:
double latitude=atof("14718.5084");
std::cout <<"latitude test "<<latitude<< "\n";
Run Code Online (Sandbox Code Playgroud)
输出是:
latitude test 14718.5
Run Code Online (Sandbox Code Playgroud)
谢谢
尝试使用此代码,看看它是否符合您的要求:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char input [256];
printf("Enter something: ");
gets(input);
printf("Result: %f\n", atof(input));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
也许你在打印时丢失了数字......
试试这个:
double latitude=atof("14718.5084");
std::cout.precision(9);
std::cout <<"latitude test "<< latitude << "\n";
Run Code Online (Sandbox Code Playgroud)