String轉BigDecimal,BigDecimal常用操作,以及避免踩坑
阿新 • • 發佈:2018-11-30
String轉BigDecimal
String a = "50.00"; //字串型別,必須是數字,否則會報錯, java.lang.NumberFormatException 異常
BigDecimal b =new BigDecimal(a);
BigDecimal加法運算
BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax()); BigDecimal yq=new BigDecimal(bookInfo.getYq()); BigDecimal publishPrice = new BigDecimal(cabinInfo.getPublishPrice()); totalPrice =publishPrice.add(planeTax).add(yq);
BigDecimal減法運算
BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice = new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.subtract(planeTax).subtract(yq);
BigDecimal乘法運算
BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax()); BigDecimal yq=new BigDecimal(bookInfo.getYq()); BigDecimal publishPrice = new BigDecimal(cabinInfo.getPublishPrice()); totalPrice =publishPrice.multiply(planeTax).multiply(yq);
BigDecimal避免踩坑
BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());//string資料轉換BigDecimal BigDecimal yq=new BigDecimal(bookInfo.getYq());//string資料轉換BigDecimal BigDecimal publishPrice = new BigDecimal(cabinInfo.getPublishPrice());//string資料轉換BigDecimal //進行相加再相乘操作時注意不要直接用符號+、-、*等,後面是四捨五入的格式 totalPrice =(publishPrice.add(planeTax).add(yq)).multiply( new BigDecimal(model.getBookInfoList().size())) .setScale(2, BigDecimal.ROUND_HALF_UP); totalPrice = price.subtract(couponMoney);