-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
轉換成正常?
四捨五入爲什麼這個例子將返回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
轉換成正常?
由於賈斯汀在評論中說,浮點錯誤。
閱讀:What Every Computer Scientist Should Know About Floating-Point Arithmetic
(它適用於統計學家和科學家也一樣,至少一個誰使用電腦!)
這是由於浮點錯誤。看看'0.94/100 * 100 * 100 - 94'的結果。因此,當R打印'94'時,該號碼被存儲爲比「94」稍微少一點的東西。請參閱[這個問題](http://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal) – Justin
如何在正常94中轉換0.94/100 * 100 * 100? – Andy
將它包裝在'integer'中! – Justin