【Java】BigDecimal中的divide方法报错,Exception in thread "main" java.lang.ArithmeticException:

一、问题

在使用BigDecimal做除法时,报错如下:

Exception in thread “main” java.lang.ArithmeticException:
Non-terminating decimal expansion; no exact representable decimal
result.

这里写图片描述

二、解决办法:

这里写图片描述

三、原因

1、divide如果做整除,没有报错;
这里写图片描述
2、如果除不尽,divide没有自动处理无限小数的机制,必须要你手动设置,所以,上面的例子的解决办法就是设置小数点精度和进位模式;scale表示精度,RoundingMode表示进位模式;

猜你喜欢

转载自blog.csdn.net/river_continent/article/details/80502041