我今天刚刚注意到 R 中的数字减法的错误。这是令人难以置信的。可重现的示例既简单又复杂,如下所示。附:我在 R 会话中没有更改任何
option()
。
> 8.2-0.1==8.1
[1] TRUE
> 8.3-0.1==8.2
[1] FALSE
我还用
dput()
测试了减法结果,看起来是正确的。然而,与正确值的比较显示错误。
> a=8.3-0.1
> a%>%dput()
8.2
> a==0.2
[1] FALSE
有时甚至减法的结果也会有偏差,当然在这种情况下比较结果是错误的。
> a=8.2-8.1
> a%>%dput()
0.0999999999999996
> a==0.1
[1] FALSE
怎么会发生这种事并被允许留下来?