有关在C程序中显示十进制值的问题

数据类型’float’显示十进制数字。 默认情况下,我的编译器最多显示6位小数。 我想只看到两位小数。 例如,当编译器执行操作“c = 2/3”时,它显示“0.666666667”。 我想在输出屏幕中只看到“0.67”。 那么我应该在C程序中进行哪些必要的更改?

使用printf输出数字时,可以使用格式说明符将其限制为2位小数。

 int main() { double d = 2.0 / 3.0; printf("%.2f\n",d); return 0; } 

这是输出:

 ---------- Capture Output ---------- > "c:\windows\system32\cmd.exe" /cc:\temp\temp.exe 0.67 > Terminated with exit code 0. 

您没有告诉我们您是如何显示该值的,因此我猜您使用的是printf("%f", x) 。 您可以在“f”前面加上精度规格,这是一个点后跟一个数字,例如printf("%.2f", x)

小数的printf格式为%。 然后是显示的小数精度,后跟“f”。

所以显示两个十进制数是

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

并显示六位小数

 printf("%.6f", i);