2014-02-20 117 views
-1

四捨五入爲什麼這個例子將返回0.93計算和R中

> trunc(0.94/100*100*100)/100 
[1] 0.93 

但這個例子:

> trunc(0.94*100)/100 
[1] 0.94 

收益0.94。這是浮點錯誤。如何將正常94的計算結果0.94/100*100*100轉換成正常?

+3

這是由於浮點錯誤。看看'0.94/100 * 100 * 100 - 94'的結果。因此,當R打印'94'時,該號碼被存儲爲比「94」稍微少一點的東西。請參閱[這個問題](http://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal) – Justin

+0

如何在正常94中轉換0.94/100 * 100 * 100? – Andy

+0

將它包裝在'integer'中! – Justin

回答