Non-terminating decimal expansion; no exact representable decimal result.

Non-terminating decimal expansion; no exact representable decimal result.

报错原因是通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
解决办法:
给BigDecimal的divide方法加上第二个参数,参数为精确到多少位即可

//2为保留小数位数,BigDecimal.ROUND_HALF_UP表示结果四舍五入
num1.divide(num2,2,BigDecimal.ROUND_HALF_UP); 

OK!问题解决!不会的给我私信!
觉得有帮助的可以关注一波!经常分享编程踩坑经验!


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