这个问题已经在这里有了答案:
已关闭8年。
以下表达式的值为0.1,认为大于0.1。
> round(1740/600,0) - 1740/600
[1] 0.1
> (round(1740/600,0) - 1740/600) <= 0.1
[1] FALSE //???!!???
> (round(1740/600,0) - 1740/600) <= 0.1000000000000000000000000000000000000001
[1] TRUE
认为问题可能是由于四舍五入造成的,因此我尝试了以下相同的结果:
> 3 - 2.9
[1] 0.1
> (3 - 2.9) <=0.1
[1] FALSE
那么,有什么好处,又如何在不混淆临界值的情况下进行修复?
最佳答案