Excel中的Round函数(工作表一)

时间:2016-07-06 13:07:35

标签: excel floating-point excel-formula rounding

使用Excel 2013,将其键入两个单元格会产生不同的结果。

=ROUND((10.45-10.00)/1,1) = 0.4

=ROUND(0.45/1,1) = 0.5

我不知道为什么会这样。有人有解释吗?

2 个答案:

答案 0 :(得分:3)

由于Excel使用浮点数学,因此无法保证结果的准确性。在我的Excel 2013安装中,如果我在单元格中输入=10.45-10.00,则将该单元格更改为具有30个小数位数的数字,实际答案为0.449999999999999000000000000000。由于0.44999...0.45位于舍入边界的两侧,因此它们会以不同的方式舍入到小数点后一位。

修改另请参阅this answer以及问题和其他答案,其中详细介绍了Excel数学不精确的原因。

答案 1 :(得分:0)

看起来顶级计算正在产生无穷小的差异。要查看此内容,请将公式拉出ROUND函数。使用"增加十进制"按钮,将两个值扩展到15+小数位。您会看到最高值实际为0.449999999999999。

我不知道为什么会这样做。