这是我的计算
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%f.2", c);
结果是-11.111111.2但我预计是-11.11。有什么问题?
答案 0 :(得分:5)
格式说明符应为"%.2f"
。
你现在所拥有的,.2
是错误的。这就是为什么你得到的数字比预期的多,以及为什么.2
在输出的末尾逐字显示。
答案 1 :(得分:2)
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
$
答案 2 :(得分:0)
您需要更改float的Format规范;因为它不正确 而不是使用
printf("%f.2", c);
尝试使用:
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c);
这应该有效! :)