【异常】java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

异常原因:没有指定数据精度导致数据运算无法正常结算

如执行下面的除法:

int value = BigDecimal.valueOf(211111).divide(BigDecimal.valueOf(3)).intValue();

指定精度后就可以了:

int value = BigDecimal.valueOf(210000).divide(BigDecimal.valueOf(3), 2, BigDecimal.ROUND_HALF_UP).intValue();
posted @ 2019-10-28 21:42  N!CE波  阅读(631)  评论(0编辑  收藏  举报