BigDecimal除法報錯問題

2021-09-02 20:55:24 字數 353 閱讀 6205

[url]

我的想法是,bigdecimal是不限精度的, 所以當做除法的時候,計算機不知道結果的精度是需要多少, 所以不指定的話會報錯

mathcontext mc = new mathcontext(2, roundingmode.half_down);

//精度為2,捨入模式為大於0.5進1,否則捨棄。

bigdecimal a = new bigdecimal(0.5);

bigdecimal b = new bigdecimal(0.2);

system.out.println(a.divide(b,mc));

BigDecimal保留小數和除法報錯問題

public static void main string args setscale 方法第乙個引數保留小數點位數,第二個是規則見下方 除不盡報錯解決 將結果擷取,就是一定要指定保留小數個數 system.out.println a.divide b,0 bigdecimal.round dow...

BigDecimal除法運算報錯

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

BigDecimal除法問題

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