1. 程式人生 > >js計算不精確的問題(浮點數誤差)

js計算不精確的問題(浮點數誤差)

js在 進行浮點型數值的運算的時候會出現不精確的現象;

例如:0.1+0.2 = 0.30000000000000004;

           2.4/0.8 = 2.9999999999999996;

原因:計算機進行二進位制和十進位制轉換的過程中不精確;

解決辦法:先將數字轉換為整數,再做其他運算,就是乘以10的n次方;

//專案中用到的利率轉換過程,rate為利率變數
var zeroLast = (rate + '').split('.')[1],
var borrowRate = !!zeroLast ? Math.pow(10,zeroLast.length) : rate;