最近做数据统计的时候,报了个错
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1693)
at BigDecimal.TestBigDecimal.main(TestBigDecimal.java:16)
困扰了半天,发现是因为,分子除以分母,除不断了,无限循环了。
eg:10/3就会报这个错
// 报错
finalScore.get().divide(new BigDecimal(subAvgResultDTOS.size()));
// 修改后
finalScore.get().divide(new BigDecimal(subAvgResultDTOS.size()),NumConstant.SIX,BigDecimal.ROUND_HALF_UP);
这样就好了🤭