圆形函数(工作表一)在Excel中

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

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

 =ROUND(0.45/1,1) = 0.5 

我不知道为什么这样。 任何人有一个解释?

因为Excel使用浮点math,所以结果不能保证是精确的。 在Excel 2013安装中,如果在单元格中input=10.45-10.00 ,则将该单元格更改为精度为30位小数的数字,实际答案为0.449999999999999000000000000000 。 由于0.44999...0.45位于舍入边界的相反两侧,所以舍入小数点后一位。

编辑另请参阅此答案以及问题和其他答案,这些答案更详细地介绍了为什么Excel的math不准确。

看起来最高的计算是创造一个无限小的差异。 要看到这个,从ROUND函数中取出公​​式。 使用“增加十进制”button,将这两个值都扩展到15+小数位。 你会看到最高值实际上是0.449999999999999。

我不知道为什么它真的这样做。