【问题标题】:Round function (worksheet one) in ExcelExcel中的圆形函数(工作表一)
【发布时间】:2016-07-06 13:07:34
【问题描述】:

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

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

但是

=ROUND(0.45/1,1) = 0.5

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

【问题讨论】:

    标签: excel floating-point excel-formula rounding


    【解决方案1】:

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

    编辑另请参阅 this answer 以及问题和其他答案,其中更详细地说明了 Excel 的数学为何不精确。

    【讨论】:

      【解决方案2】:

      看起来顶部的计算正在创造一个无限小的差异。要查看这一点,请将公式从 ROUND 函数中提取出来。使用“增加小数点”按钮,将这两个值扩展至小数点后 15 位以上。您会看到最高值实际上是 0.449999999999999。

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

      【讨论】:

        猜你喜欢
        • 2010-09-20
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-16
        相关资源
        最近更新 更多