的以下表達式,計算結果爲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