请查看此代码。它适用于像704这样的数字,但从705开始得到一个除法不可能的错误:
import java.math.*;
public class Test {
public static void main(String[] argv) throws Exception {
BigDecimal totalDuration = new BigDecimal(705);
int scale = 2;
MathContext mc = new MathContext(scale, RoundingMode.HALF_UP);
System.out.println(totalDuration.divideAndRemainder(new BigDecimal(5), mc));
}
}
我使用的是 JDK 11。
引发的错误:
Exception in thread "main" java.lang.ArithmeticException: Division impossible
at java.base/java.math.BigDecimal.divideToIntegralValue(BigDecimal.java:1880)
at java.base/java.math.BigDecimal.divideAndRemainder(BigDecimal.java:2012)
at Test.main(Test.java:9)
开心每一天1111
陪伴而非守候
相关分类