js浮點乘除bug

2021-09-26 14:38:04 字數 844 閱讀 1388

在做專案的時候涉及到百分數小數的顯示轉化,對小數進行乘除發現出不精確的問題,比如

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...