记录一下今天写购物车模块遇到的小bug
Cart类字段
private List<CartItem> items;
private Integer countNum;//商品总数
private Integer countType;//商品类型总数
private BigDecimal totalAmount;//商品总价格
private BigDecimal reduce = new BigDecimal("0.00");//商品减免
其中totalAmount是BigDecimal类,getTotalAmount方法
public BigDecimal getTotalAmount() {
//1.购物项总价格
BigDecimal total = new BigDecimal("0");
if(items != null && items.size() > 0) {
for (CartItem item : items) {
BigDecimal totalPrice = item.getTotalPrice();
total = total.add(totalPrice);
}
}
//2.减免价格
total = total.subtract(reduce);
return total;
}
在对total进行add时,总是直接total.add(),然后导致购物车的总价格总是0.00,后来发现,需要接收一下于是改成
total = total.add(totalPrice),成功解决bug。
成功解决!
查看BigDecimal发现,所有的运算返回都是BigDecimal,所以一定要接着!