的以下表达式,计算结果为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
那么,是什么给和我怎么解决它没有捏造截止?
阅读本FAQ:http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are- equal_003f –
[R Inferno](http://www.burns-stat.com/pages/Tutor/R_inferno.pdf)也是一个很好的阅读。 – Aaron