JS 實現精確加減乘除

2021-08-30 17:19:35 字數 1480 閱讀 7586

最近乙個專案中要使用 js 實現自動計算的功能,本以為只是實現簡單的加、減、乘、除就可以了,於是三下五除二做完了。

正當我竊喜

進行一些浮點數運算時,計算結果都是讓我大跌眼鏡啊,那個值讓我哭笑不得,一長串的值,太牛了。。。

我那個納悶啊!!不過還好牛人多,給了我一解決方案,嘿嘿。。。問題基本上解決了,為了表示感覺,我決定把**貼出來,大家共享一下,希望能給部分人一些幫助。

//加法函式

function accadd(arg1, arg2)

catch (e)

try

catch (e)

m = math.pow(10, math.max(r1, r2));

return (arg1 * m + arg2 * m) / m;

} //給number型別增加乙個add方法,,使用時直接用 .add 即可完成計算。

number.prototype.add = function (arg) ;

//減法函式

function subtr(arg1, arg2)

catch (e)

try

catch (e)

m = math.pow(10, math.max(r1, r2));

//last modify by deeka

//動態控制精度長度

n = (r1 >= r2) ? r1 : r2;

return ((arg1 * m - arg2 * m) / m).tofixed(n);

}//給number型別增加乙個add方法,,使用時直接用 .sub 即可完成計算。

number.prototype.sub = function (arg) ;

//乘法函式

function accmul(arg1, arg2)

catch (e)

try

catch (e)

return number(s1.replace(".", "")) * number(s2.replace(".", "")) / math.pow(10, m);

} //給number型別增加乙個mul方法,使用時直接用 .mul 即可完成計算。

number.prototype.mul = function (arg) ;

//除法函式

function accdiv(arg1, arg2)

catch (e)

try

catch (e)

with (math)

} //給number型別增加乙個div方法,,使用時直接用 .div 即可完成計算。

number.prototype.div = function (arg) ;

使用方法:

//加法示例(其它的都類似)

function calculate()

希望對大家有幫助哦。。。

實現精確加減乘除

加 減 乘 除 加法函式 function accadd arg1,arg2 catch e try catch e m math.pow 10,math.max r1,r2 return arg1 m arg2 m m 給number型別增加乙個add方法,使用時直接用 add 即可完成計算。nu...

javascript 精確加減乘除

最近乙個專案中要使用 js 實現自動計算的功能,本以為只是實現簡單的加 減 乘 除就可以了,於是三下五除二做完了。正當我竊喜 進行一些浮點數運算時,計算結果都是讓我大跌眼鏡啊,那個值讓我哭笑不得,一長串的值,太牛了。我那個納悶啊!不過還好牛人多,給了我一解決方案,嘿嘿。問題基本上解決了,為了表示感覺...

mysql減數命令 js精確加減乘除

加法函式 function accadd arg1,arg2 var r1,r2,m try r1 arg1.tostring split 1 length catch e r1 0 try r2 arg2.tostring split 1 length catch e r2 0 m math.po...