BigDecimal常用的加減乘除演算法

2021-10-01 20:20:21 字數 1117 閱讀 7339

bigdecimal

有個專案中前端傳了乙個小數過來,使用json格式傳過來的,我在後端接受後使用了一些常見的型別去接收發現都是出現問題,最後直接把接收的結果的型別列印出來才發現原來是使用bigdecimal。

bigdecimal初始化:

bigdecimal num1 = new bigdecimal(0.05);

bigdecimal num2 = new bigdecimal(100);

bigdecimal num3 = new bigdecimal(-1000);

//盡量用字串的形式初始化

bigdecimal num12 = new bigdecimal("0.05");

bigdecimal num22 = new bigdecimal("10");

bigdecimal num32 = new bigdecimal("-10");

bigdecimal的相關演算法

//加法

bigdecimal result1 = num1.add(num2);

bigdecimal result12 = num12.add(num22);

//減法

bigdecimal result2 = num1.subtract(num2);

bigdecimal result22 = num12.subtract(num22);

//乘法

bigdecimal result3 = num1.multiply(num2);

bigdecimal result32 = num12.multiply(num22);

//絕對值

bigdecimal result4 = num3.abs();

bigdecimal result42 = num32.abs();

//除法

bigdecimal result5 = num2.divide(num1,20,bigdecimal.round_half_up);

bigdecimal result52 = num22.divide(num12,20,bigdecimal.round_half_up);

更多資訊可以參考這兩篇文章:

BigDecimal的運算 加減乘除

一 建立乙個bigdecimal物件。這裡對比了兩種形式,第一種直接value寫數字的值,第二種用string來表示 bigdecimal num1 new bigdecimal 0.005 bigdecimal num2 new bigdecimal 1000000 bigdecimal num3...

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