如何圆整浮点数没有。两位小数?

时间:2017-03-08 13:32:57

标签: c

我写了一个程序,其中计算机要求浮点数。来自用户。例如,如果我正在委托0.41,则printf中的输出为0.409999999。如何解决此错误?

3 个答案:

答案 0 :(得分:1)

这很简单。使用:

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

这将打印0.41

答案 1 :(得分:1)

  • %f(打印为浮点)
  • %4f(打印为宽度至少为4宽的浮点)
  • %。4f(以小数点后的四个字符的精度打印为浮点)
  • %3.2f(打印为浮点数至少3宽,精度为2)

答案 2 :(得分:0)

大多数浮点数据类型本质上都是不精确的。他们试图在有限精度的位向量中存储实数(无限精度)。因此,您平台上最接近的0.41表示可能是0.409999999。

您应该阅读IEEE754浮点表示,以了解您遇到的问题类型。

相关问题