答案1
我认为这是因为 excel 将这些值存储为浮点数,而不是小数。因此,您实际上正在处理四舍五入为4.500000x
和的值2.5000000x
,并且它们的总和同样7.0000000x
不完全等于整数 7。
看:https://support.microsoft.com/en-us/kb/78113
存储数字时,相应的二进制数可以表示每个数字或分数。例如,分数 1/10 可以在十进制数系统中表示为 0.1。但是,二进制格式的相同数字将变成以下重复的二进制十进制数:0001100110011100110011(等等)这可以无限重复。此数字无法在有限(受限)的空间中表示。因此,存储时此数字将向下舍入约 -2.8E-17。
…
Excel 提供了两种补偿舍入误差的基本方法:ROUND 函数和“精度显示”或“将精度设置为显示”工作簿选项。以下示例使用 ROUND 函数将数字强制为五位数。这样您就可以成功地将结果与另一个值进行比较。
A1:1.2E+200
B1:1E+100
C1:=ROUND(A1+B1,5)在某些情况下,您可以使用“按显示精度”选项来防止舍入误差影响您的工作。
[单击“选项”,然后单击“高级”类别。]
[在计算此工作簿部分,选中“将精度设置为显示”复选框。]