Excel mod 函数舍入误差

Excel mod 函数舍入误差

我正在 Excel 中测试 0.4 的倍数。

=MOD(1.2;0.4)

返回 0.4,而它应该返回零。

答案1

原因是 Excel 内部使用浮点数。

这意味着 0.4 在内部表示为小数点右边的位序列,代表 1/2、1/4、1/8、1/16 等,直到大约 1/(2^31)。

因此,任何不是一个整数(并且不是确切地可用上面列出的分数表示的整数(例如,100 克)具有与之相关的舍入误差;这也适用于计算的每个步骤。

MOD(*,0.4)只是证明这一点的一个例子(我承认,这是一个相当明显的例子)。

基本上,你不能可靠地使用MOD非整数作为第二个参数。如果可以的话,您需要相应地乘以和除以数据(例如=MOD(10*x;10*m)/10),或者自己编写 MOD 公式:=x-INT(x/m)*m

相关内容