BigDecimal正确的累加计数姿势

还在为BigDecimal累加计数为"0"而苦恼么?

(1) 错误姿势, 这样会导致amount一直为 “0”

BigDecimal amount = BigDecimal.ZERO;
while (iterator.hasNext()) {
      amount.add(mallProduct.getPrice().multiply(BigDecimal.valueOf(cartFromRedis.getQuantity())));
}

(2) 正确姿势, 一定要在add()前添加上amount = amount.add()

BigDecimal amount = BigDecimal.ZERO;
while (iterator.hasNext()) {
      amount = amount.add(mallProduct.getPrice().multiply(BigDecimal.valueOf(cartFromRedis.getQuantity())));
}

你可能感兴趣的:(Java)