java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result
时间: 2023-11-04 18:58:26 浏览: 208
java写的计算器,功能还没有完全
这个异常java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result通常是在进行BigDecimal类型的除法计算时出现的。在你提供的代码中,当除数无法整除时,会导致无限循环的小数结果,从而触发该异常。为了解决这个问题,你可以通过在divide方法中指定返回的小数位数和舍入模式来解决。例如,你可以使用BigDecimal.ROUND_HALF_UP舍入模式来对结果进行四舍五入。
示例代码:
```java
if(yearincome!=null){
BigDecimal num = new BigDecimal(12.00);
BigDecimal monthIncom = yearincome.divide(num, 2, BigDecimal.ROUND_HALF_UP);
mainLoanMessageVO.setMonthIncome(monthIncom);
}
```
阅读全文