Тhese是我的计算
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%f.2", c);结果是-11.111111.2,但我预期是-11.11。出什么问题了?
发布于 2012-01-11 16:38:10
格式说明符应为"%.2f"。
在您现在拥有的东西中,.2放错了地方。这就是为什么您会得到比预期更多的位数,以及为什么.2会原封不动地出现在输出的末尾。
发布于 2012-01-11 16:40:40
printf("%f.2", c);应更改为
printf("%.2f", c);更新代码如下:
$ cat f.c
#include <stdio.h>
int main()
{
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%.2f \n", c);
return 0;
}
$ gcc f.c
$ ./a.out
-11.11
$ 发布于 2012-01-11 19:43:55
您需要更改float的格式规范;因为它是不正确的,而不是使用
printf("%f.2", c);尝试使用以下命令:
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c); 这应该是可行的!:)
https://stackoverflow.com/questions/8816346
复制相似问题