-3
我发布了两个小代码。两者都给出了不同的答案,我无法理解为什么会发生这种情况,以及这个问题的解决方法是什么。r中的数字类型相同
i=3
a=i*0.1
a==0.3
FALSE
i=2
a=i*0.1
a==0.2
TRUE
我发布了两个小代码。两者都给出了不同的答案,我无法理解为什么会发生这种情况,以及这个问题的解决方法是什么。r中的数字类型相同
i=3
a=i*0.1
a==0.3
FALSE
i=2
a=i*0.1
a==0.2
TRUE
可以圆一个,以获得更多的一致的结果:
i <- 3L
a <- i*0.1
round(a, 1) == 0.3
i=2L
a=i*0.1
round(a, 1) == 0.2
这可能是由于数据类型不匹配可以发生。
我刚刚读到@nicola。非常有趣的阅读! – Sotos