先看个例子:
// 输出结果为 0
public void testBigDecimal() {
BigDecimal decimal = BigDecimal.ZERO;
String x = "5";
for (int i = 0; i < 3; i++) {
decimal.add(new BigDecimal(x));
}
System.out.println(decimal);
}
如果:
// 输出结果为 15
public void testBigDecimal() {
BigDecimal decimal = BigDecimal.ZERO;
String x = "5";
for (int i = 0; i < 3; i++) {
decimal = decimal.add(new BigDecimal(x));
}
System.out.println(decimal);
}
原因:add()
方法不会改变子身的值 需要一个值去接收结果