BigDecimal型別計算資料使用方式總結

2021-10-12 07:27:16 字數 2307 閱讀 9781

bigdecimal bigdecimal1 =

newbigdecimal(1

);bigdecimal bigdecimal2 =

newbigdecimal(1

);/* * @description: 加法 add()

*/bigdecimal sum = bigdecimal1.

add(bigdecimal2);/*

* @description: 減法 subtract()

*/bigdecimal subtract = bigdecimal1.

subtract

(bigdecimal2);/*

* @description: 乘法 multiply()

*/bigdecimal multiply = bigdecimal1.

multiply

(bigdecimal2);/*

* @description: 除法 divide() 結果 保留兩位小數

*/bigdecimal divide = bigdecimal1.

divide

(bigdecimal2,

2, bigdecimal.round_half_up)

;

bigdecimal bigdecimal1 =

newbigdecimal(1

);bigdecimal bigdecimal2 =

newbigdecimal(1

);/* * @description: 保留兩位小數 setscale()

*/bigdecimal setscale = bigdecimal1.

setscale(2

, bigdecimal.round_half_up);/*

* @description: 保留兩位向上進製 setscale()

*/bigdecimal setscale1 = bigdecimal1.

setscale(2

, bigdecimal.round_up);/*

* @description: 保留兩位向下取捨 setscale()

*/bigdecimal setscale2 = bigdecimal1.

setscale(2

, bigdecimal.round_half_down);/*

* @description: 保留兩位四捨五入 setscale()

*/bigdecimal setscale3 = bigdecimal1.

setscale(2

, bigdecimal.round_down)

;

/*

* @description: 絕對值 abs()

*/bigdecimal abs = bigdecimal1.

abs(

);

bigdecimal bigdecimal1 =

newbigdecimal(1

);bigdecimal bigdecimal2 =

newbigdecimal(1

);/* * @description: 比較大小 bigdecimal1 大於 bigdecimal2

*/if(bigdecimal1.

compareto

(bigdecimal2)==1

)/** @description: 比較大小 bigdecimal1 小於 bigdecimal2

*/if(bigdecimal1.

compareto

(bigdecimal2)==-

1)/* * @description: 比較大小 bigdecimal1 等於 bigdecimal2

*/if(bigdecimal1.

compareto

(bigdecimal2)==0

)/** @description: 比較大小 bigdecimal1 大於等於 bigdecimal2

*/if(bigdecimal1.

compareto

(bigdecimal2)

>-1

)/** @description: 比較大小 bigdecimal1 小於等於 bigdecimal2

*/if(bigdecimal1.

compareto

(bigdecimal2)

<-1

)

商業計算 BigDecimal

bigdecimal表示不可變的 任意精度的有符號十進位制數,由任意精度的整數非標度值 和 32 位的整數標度 scale 組成。所表示數字如果為零或正數,則標度是小數點後的位數。如果為負數,則將該數的非標度值乘以 10 的負 scale 次冪。因此,bigdecimal 表示的數值是 unscal...

BigDecimal數值計算

bigdecimal一共有4個構造方法 bigdecimal int 建立乙個具有引數所指定整數值的物件。bigdecimal double 建立乙個具有引數所指定雙精度值的物件。不建議採用 bigdecimal long 建立乙個具有引數所指定長整數值的物件。bigdecimal string 建...

BigDecimal型別非空校驗

解決方案其實很簡單,如下 這裡unlocknumber可能為空 bigdecimal unlocknumber unlockaccountinfo.getunlocknumber if unlocknumber null 對,用 來進行bigdecimal非空判斷就行。if unlocknumber...