在做專案的時候涉及到百分數小數的顯示轉化,對小數進行乘除發現出不精確的問題,比如a=0.69,c=a*10,得到的確是6.8999999999999995,這是乙個js浮點數運算bug,於是找到了乘除的解決辦法,**如下
function
floatmul
(arg1, arg2)
catch(e
)try
catch(e
)return
number
(s1.
replace
('.',''
))*number
(s2.
replace
('.',''
))/ math.
pow(
10, m)
;}
function
accdiv
(num1, num2)
catch(e
)try
catch(e
) r1 =
number
(num1.
tostring()
.replace
('.',''
)); r2 =
number
(num2.
tostring()
.replace
('.',''
));return
(r1 / r2)
* math.
pow(
10, t2 - t1)
;}
JS 浮點計算BUG
最近做專案的時候遇到乙個比較糾結的js浮點計算問題。當時是做利率計算,因為利率大多數涉及到小數點,精度要求也很高。0.6 0.1 0.1 結果出現 0.7999999999999 網上查詢了一下,這確實是乙個缺陷 bug 不僅加,只要涉及到浮點計算減成除一樣會出現類似情況 先看看demo 將0.1 ...
js加減乘除
除法函式,用來得到精確的乘法結 function accdiv arg1,arg2 catch e trycatch e with math 乘法函式,用來得到精確的乘法結果 function accmul arg1,arg2 catch e trycatch e return number s1....
js中浮點加減乘除失精的問題解決
通過上面兩張可以看出,明明是0.29,在經過js乘以100以後,竟然變成了28.99999.對於涉世未深的我來說當時簡直產生自我認可懷疑了,是不是我 寫錯了。然後經過問大牛,解決辦法如下 包含加減乘除 number.prototype.add function arg catch e trycatc...