当BigDecimal做除法计算(divide)时,若没有设置小数精度,当结果为无限循环小数时将抛出java.lang.ArithmeticException异常,示例代码如下:
new BigDecimal(10).divide(new BigDecimal(3));
解决方案:为除法设置小数精度和舍入方式,示例代码如下
new BigDecimal(10).divide(new BigDecimal(3), 2, RoundingMode.HALF_UP)
本文共 280 字,大约阅读时间需要 1 分钟。
当BigDecimal做除法计算(divide)时,若没有设置小数精度,当结果为无限循环小数时将抛出java.lang.ArithmeticException异常,示例代码如下:
new BigDecimal(10).divide(new BigDecimal(3));
解决方案:为除法设置小数精度和舍入方式,示例代码如下
new BigDecimal(10).divide(new BigDecimal(3), 2, RoundingMode.HALF_UP)
转载于:https://my.oschina.net/u/699015/blog/294081