使用 BigDecimal 和 DecimalFormat 进行金额计算和输出

需求中经常会遇到需要金额的计算和输出问题。

话不多说,即刻上码:

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 对象。









猜你喜欢

转载自blog.csdn.net/zhuxianxin0118/article/details/78930898