BigDecimal除法使用异常

0. 问题描述

记录一下
如果不指定保留小数位数,在遇到除不尽的情况下就会报错
遇见问题1:
除数小于被除数,先除以再设置位数,会不正确。效果如下
在这里插入图片描述
除不尽的情况,小数位不精准。效果如下
在这里插入图片描述

1.问题解决

BigDecimal做除法时,尽量使用divide(BigDecimal divisor, int scale, int roundingMode),这个方法
divisor:被除数 scale保留小数位数 roundingMode保留小数时采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)

  1. 改完版本
    在这里插入图片描述

  2. 改完版本
    在这里插入图片描述


版权声明:本文为weixin_42119415原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。