这是浮点类型数据计算错误。BigDecimal bigDecimal = BigDecimal.valueOf(100000.0)
.multiply(BigDecimal.valueOf(100d))
.stripTrailingZeros();
System.out.println("plain : " + bigDecimal.toPlainString());
System.out.println("scientific : " + bigDecimal.toEngineeringString());上面的代码将会输出plain : 10000000
scientific : 10E+6如果你希望能够输出正确的值,请使用 toPlainString() 方法。