用BigDecimal做除法時的注意事項

2021-10-20 19:20:45 字數 618 閱讀 1477

這裡用兩種方式對10 / 3,四捨五入保留兩位小數做處理

一:將setscale()方法寫在divide()方法裡面

二:將setscale()方法寫在divide()方法外面

bigdecimal a =

newbigdecimal(10

);bigdecimal b =

newbigdecimal(3

);system.out.

println

("放在裡面:"

+ a.

divide

(b,2

, bigdecimal.

round_half_up))

;system.out.

println

("放在外面:"

+ a.

divide

(b).

setscale(2

, bigdecimal.

round_half_up))

;

結果:

第二種方法不能整除發生報錯

BigDecimal做除法操作

bigdecimal做除法操作 bigdecimal b1 newbigdecimal 1000 bigdecimal b2 newbigdecimal 100 system.out.println b1.divide b2,2,bigdecimal.round half up tostring 輸...

BigDecimal除法問題

bigdecimal做除法時,盡量使用divide bigdecimal divisor,intscale,introundingmode 這個方法 divisor 被除數 scale保留小數字數 roundingmode保留小數時採用的方法,一般使用bigdecimal.round up 四捨五入...

BigDecimal除法運算報錯

今天在運用bigdecimal做除法運算的時候,錯誤如下 non terminating decimal expansion no exact representable decimal result 不是很明白為什麼會這個樣子,度娘告訴我是因為 bigdecimal 做除法運算,如果除的結果為無限...