浮动打印提供额外的数字

时间:2015-04-12 22:16:46

标签: c printing floating-point atof

我很难打印浮点变量。它给了我额外的数字,不应该存在。 这是一个例子:

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

这显然是错误的输出。有什么建议?

1 个答案:

答案 0 :(得分:1)

此输出没有任何意外。 99.10无法在IEEE754中完全表示。更改格式以将输出限制为两位小数,如果这是您想要的:

printf("%.2f", number);