JS中0.28*100, 0.29*100 和 0.28/100 得到的值精準度問題

乘法: 

0.28和0.29乘100都沒有得到預期的值.

除法:

0.28除100沒有得到預期的值, 0.29正常.

 

解決辦法:

我這裏是用parseInt()解析成整數

 

原因:

浮點數不能直接進行相等比較, 計算機中是採用近似值來保存浮點數的,當進行浮點數相關的計算時,需要時刻提防由於精度問題所導致的誤差,並注意避免那些會影響到結果正確性的誤差(所謂正確性,就是誤差超出了所允許的最大範圍)。

 

 

參考文章:

一個由於浮點數精度導致的錯誤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章