C 打印浮点值时的奇怪行为
这些是我的计算C 打印浮点值时的奇怪行为,c,C,这些是我的计算 float c = 5.0 * (12.0 - 32.0) / 9.0; printf("%f.2", c); 结果是-11.111111.2,但我预计是-11.11。有什么问题吗?格式说明符应为“%.2f” 在您现在拥有的内容中,.2放错了位置。这就是为什么您得到的数字比预期的多,以及为什么.2在输出的末尾逐字显示。格式说明符应为“%.2f” printf("%f.2", c); 在您现在拥有的内容中,.2放错了位置。这就是为什么会得到比预期更多的数字,以及为什么.2会逐字
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%f.2", c);
结果是-11.111111.2,但我预计是-11.11。有什么问题吗?格式说明符应为
“%.2f”
在您现在拥有的内容中,
.2
放错了位置。这就是为什么您得到的数字比预期的多,以及为什么.2
在输出的末尾逐字显示。格式说明符应为“%.2f”
printf("%f.2", c);
在您现在拥有的内容中,.2
放错了位置。这就是为什么会得到比预期更多的数字,以及为什么.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
$
$cat f.c
#包括
int main()
{
浮点数c=5.0*(12.0-32.0)/9.0;
printf(“%.2f\n”,c);
返回0;
}
$gcc f.c
美元/年
-11.11
$
应改为
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
$
$cat f.c
#包括
int main()
{
浮点数c=5.0*(12.0-32.0)/9.0;
printf(“%.2f\n”,c);
返回0;
}
$gcc f.c
美元/年
-11.11
$
您需要更改float的格式规范;因为这是不正确的
而不是使用
printf("%f.2", c);
尝试使用以下方法:
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c);
这应该有用!:) 您需要更改float的格式规范;因为这是不正确的 而不是使用
printf("%f.2", c);
尝试使用以下方法:
float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c);
这应该有用!:) 侧面:%.2f正在截断结果9.9999将显示为9.99侧面:%.2f正在截断结果9.9999将显示为9.99