excel mround() 错误解决方法

excel mround() 错误解决方法

这是 MSFT 对 MROUND 漏洞的解释:

当为 Multiple 参数提供十进制值时,中点数的舍入方向未定义。例如,MROUND(6.05,0.1) 返回 6.0,而 MROUND(7.05,0.1) 返回 7.1。

MSFT 将此漏洞归咎于 IEEE。

相当于 MROUND(6.05,0.1) 返回 6.1 的解决方法是什么?我应该结合使用 floor() 或 ceiling() 来加或减小数吗?

答案1

我建议MROUND(Number, 0.1)完全放弃该命令,而使用乘法和上限函数。例如0.1*CEILING.MATH(10*(Number - 0.0499))。如果一个函数有这么多错误,我就不会想在我的代码中使用它。

相关内容