大家好,又见面了,我是你们的朋友全栈君。
BigDecimal做除法时,尽量使用divide(BigDecimal divisor, int scale, int roundingMode),这个方法
divisor:被除数 scale保留小数位数 roundingMode保留小数时采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)
如果不指定保留小数位数,在遇到除不尽的情况下就会报错
BigDecimal源码:
try {
quotient = this.divide(divisor, mc);
} catch (ArithmeticException e) {
throw new ArithmeticException("Non-terminating decimal expansion; " +
"no exact representable decimal result.");
}发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148191.html原文链接:https://javaforall.cn