需求中经常会遇到需要金额的计算和输出问题。
话不多说,即刻上码:
eg:计算总花费金额,需要将晚饭的费用 ,和旅馆的费用两项金额相加
//总费用
BigDecimal allCost = new BigDecimal("0");
//餐费
BigDecimal eatCost = new BigDecimal("100");
//旅馆费
BigDecimal restCost = new BigDecimal("150");
//合计
allCost = allCost.add(eatCost).add(restCost);
//需要保留2位小数四舍五入的话 方法1
allCost = allCost.setScale(2,BigDecimal.ROUND_HALF_UP);
//需要保留2位小数四舍五入的话 方法2
DecimalFormat df = new DecimalFormat("0.00");
String allCostStr = df.format(allCost);
注意事项:
使用运算方法 add() 后需要再赋值给对象,如:allCost = allCost.add(eatCost).add(restCost); 不可直接写成 allCost.add(eatCost).add(restCost); 原因是由于add方法返回值是一个新的BigDecimal 对象。