首先,我知道IEEE754
标准下的 float 对于十进制数来说是不准确的,我在JavaScript和Python中尝试了0.3 - 0.2
,他们得到了相同的结果0.09999999998
,但是当我在 C: 中尝试以下代码时,我得到了 0.1
:
float a = 0.3, b = 0.2, c = b - a;
printf("%f", c);
printf
函数是否对值进行四舍五入?如果我想在C中打印不准确的十进制数字,我该怎么办?
最佳答案
你可以使用这个:
printf("%0.3f", c)
关于c - 为什么 float 在 C 中会四舍五入,但在 JavaScript 或 Python 中却不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43048529/