问题描述:
promotionPrice String类型,转BigDecimal抛异常
执行语句:
detailResult.setGoodsPrice(new BigDecimal(itemEntitys.get(itemEntitys.size()-1).getPromotionPrice()));
原因:
promotionPrice 存在空格,String类型存在特殊字符或空格转数值类型时容易抛java.lang.NumberFormatException
解决方法:
可以使用String提供的trim()方法去除空格
if(itemEntitys.get(itemEntitys.size()-1).getPromotionPrice() == null || itemEntitys.get(itemEntitys.size()-1).getPromotionPrice().trim().isEmpty()){
itemEntitys.get(itemEntitys.size()-1).setPromotionPrice("0");
}
detailResult.setGoodsPrice(new BigDecimal(itemEntitys.get(itemEntitys.size()-1).getPromotionPrice().trim().isEmpty()));