用BigDecimal做除法的時候,直接拿起兩數懟上除法有時候會出現除不盡就會報錯,
列如:
BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3));
System.out.println(re);
或:
BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3)).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(re);
直接這樣除是會出現除不盡報錯的,解決辦法:除的時候直接截取位數就好了
BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);
System.out.println(re);