BigDecimal denominator = new BigDecimal("7");
BigDecimal avg = denominator.divide(new BigDecimal("3"));
除法时当不整除,出现无限循环小数时,就会抛异常,则会报Non-terminating decimal expansion; no exact representable decimal result的错误
使用BigDecimal.ROUND_HALF_UP是可以解决问题,但这个方法已经过时了
查看divide方法里面看到有建议的方法
divide(BigDecimal, int, RoundingMode)
BigDecimal denominator = new BigDecimal("7");
BigDecimal avg=denominator.divide(new BigDecimal("3") ,2,RoundingMode.HALF_UP);