excel在一个记录中以一个记录为单位,在另一个记录中以相同的数字为单位



excel的围绕数字不一致,这引起了我的问题。当使用圆((时,有时它会将特定的数字汇总起来,而在其他时候则将相同的值降低。

我已经尝试将Excel设置为在设置中显示精确的值,但不会更改任何内容。

这是正在发生的事情的示例。

这是简单的公式圆((A1-B1(/2,4(

对于一个记录,我有值(.3159 - .3152(,然后评估为.0007,然后除以2以获取.00035。

对于下一个记录,我有值(.3554 - .3547(,该值也评估为.0007,并除以2个结果。00035

因此,即使两个值都是.00035,当我四舍五入到4个小数点时,我将获得.0003的一个和.0004。相同的数字,四舍五入到相同数量的位置,两个不同的结果。我该如何解决?

这是固有且无法避免的浮点数的问题。

在Excel中尝试这些测试:

=(0,3159-0,3152)=(0,3554-0,3547)给您FALSE

=(0,3159-0,3152)-(0,3554-0,3547)给您类似5.55112E-17的东西。

如果您不能接受差异,则应该在计算的中间,不仅在结尾处:

=ROUND(0.3159-0.3152,4)=ROUND(0.3554-0.3547,4)TRUE

=ROUND(0.3159-0.3152,4)-ROUND(0.3554-0.3547,4)0

进一步阅读:浮点算术是否稳定?和二进制浮点和.NET,由备受推崇的Jon Skeet。

最新更新