我写了一个程序,其中计算机要求浮点数。来自用户。例如,如果我正在委托0.41,则printf中的输出为0.409999999。如何解决此错误?
答案 0 :(得分:1)
这很简单。使用:
printf("%.2f", 0.409999999);
这将打印0.41
答案 1 :(得分:1)
答案 2 :(得分:0)
大多数浮点数据类型本质上都是不精确的。他们试图在有限精度的位向量中存储实数(无限精度)。因此,您平台上最接近的0.41表示可能是0.409999999。
您应该阅读IEEE754浮点表示,以了解您遇到的问题类型。