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

时间:2010-08-11 21:09:07

标签: c

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

3 个答案:

答案 0 :(得分:4)

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

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

这是输出:

---------- Capture Output ----------
> "c:\windows\system32\cmd.exe" /c c:\temp\temp.exe
0.67

> Terminated with exit code 0.

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

因此显示两个十进制格式

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

并显示六位小数

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