JS之,BigDecimal 加減乘除計算

2021-10-10 20:31:32 字數 1775 閱讀 4969

參考鏈結

//加法函式

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);

console.log(0.1.add(0.2).add(0.3));//等價於0.1+0.2+0.3,輸出0.6

console.log(0.1+0.2+0.3);//輸出0.6000000000000001

//減法函式

function subtr(arg1, arg2)  catch(e) 

try catch(e)

m = math.pow(10, math.max(r1, r2)); //動態控制精度長度

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

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

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

number.prototype.sub = function(arg) ;

console.log(0.6.sub(0.2).sub(0.3));//等價於0.6-0.2-0.3 輸出0.1

console.log(0.6-0.2-0.3);//輸出:0.09999999999999998

//乘法函式

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) ;

console.log(0.1.mul(0.2).mul(0.3)); //等價於0.1 * 0.2 * 0.3 輸出0.006

console.log(0.1 * 0.2 * 0.3); //輸出:0.006000000000000001

//除法函式

function accdiv(arg1, arg2)  catch(e) {}

try catch(e) {}

with(math)

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

number.prototype.div = function (arg) ;

console.log(0.6.div(0.2).div(0.1)); //等價於0.6 / 0.2 / 0.1 輸出30

console.log(0.6 / 0.2 / 0.1); //輸出:29.999999999999993

//四捨五入,保留指定小數字數 arg 取捨數 n 保留小數字數

function roundtofixed(arg, n) else    

}

BigDecimal 加 減 乘 除 比較

bigdecimal 多用於商業計算,或者較大數值得計算 bigdecimal bignum1 newbigdecimal 10 bigdecimal bignum2 new bigdecimal 5 bigdecimal bignum3 null 加法 bignum3 bignum1.add bi...

BigDecimal加減乘除計算

bigdecimal num1 new bigdecimal 0.005 bigdecimal num2 new bigdecimal 1000000 bigdecimal num3 new bigdecimal 1000000 盡量用字串的形式初始化 bigdecimal num12 new bi...

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