我很难打印浮点变量。它给了我额外的数字,不应该存在。 这是一个例子:
float number;
char temp[50];
fgets ( temp, sizeof temp, fr ); //reading string from file, example: 99.10
number=atof(temp);
printf("%lf",number); //console output: 99.101563
这显然是错误的输出。有什么建议?
答案 0 :(得分:1)
此输出没有任何意外。 99.10
无法在IEEE754中完全表示。更改格式以将输出限制为两位小数,如果这是您想要的:
printf("%.2f", number);