js加減乘除保留2位小數

2021-10-25 01:43:40 字數 1564 閱讀 4687

在寫**時直接使用+ - * / 對數字進行計算時不注意可能會存在一些奇怪bug(特別是兩小數之間的運算),比如整數和浮點數相乘出現了很多位小數,兩個小數相加減出現多個小數等…

傳入引數arg1,arg2 得到運算結果,num有傳入時保留num位小數

加 add

function

add(arg1,arg2,num)

catch(e

)try

catch(e

) m = math.

pow(

10, math.

max(r1, r2));

if(num||num===0)

return

(arg1 * m + arg2 * m)

/ m}

減 reduce

function

reduce

(arg1,arg2,num)

catch(e

)try

catch(e

) m = math.

pow(

10, math.

max(r1, r2));

if(num||num===0)

return

(arg1 * m - arg2 * m)

/ m}

乘 multiply

function

mul(arg1, arg2,num)

catch

(e)try

catch

(e)//將兩個小數去掉小數點,強制轉換整個值(即進行數值放開小數點位數的倍數),然後進行相乘的操作,相乘的結果除去10的m次方

if(num||num===0)

return

number

(s1.

replace

(".",""

))*number

(s2.

replace

(".",""

))/math.

pow(

10,m)

;}

除 division

function

accdiv

(arg1,arg2,num)

trycatch

(e)try

catch

(e) r1=

number

(arg1.

tostring()

.replace

(".",""

))r2=

number

(arg2.

tostring()

.replace

(".",""

))if(num||num===0)

return

(r1/r2)

*math.

pow(

10,t2-t1)

;}

BigDecimal加減乘除保留小數

public bigdecimal add bigdecimal augend 加 bigdecimal bd1 new bigdecimal 0.09 bigdecimal bd2 new bigdecimal 0.01 system.out.println add bd1.add bd2 sys...

BigDecimal的加減乘除即保留小數

bigdecimal bignum1 new bigdecimal 10 bigdecimal bignum2 new bigdecimal 5 bigdecimal bignum3 null 加法 bignum3 bignum1.add bignum2 system.out.println 和 是...

js計算小數加減乘除問題

在js中使用小數進行加減乘除計算時,可能會導致資料不準確出現好多小數問題 查了一些資料,一是 j ascript 浮點數計算的 bug,另乙個是和計算機最終轉換成二進位制計算有關係 解決方法 1 加減法可以用引數乘以1000再用結果除以1000 乘除法可以用引數分別 100進行計算後在除以10000...