3 回答

TA贡献1799条经验 获得超9个赞
我想你需要把后面的0留下的话,应该不是为了计算,而是为了显示。所以我认为,你没必要用BigDecimal。你应该用NumberFormat,得到的结果是一个字符串,这样才能保留后面的0.
final NumberFormat format = NumberFormat.getNumberInstance();
format.setRoundingMode(RoundingMode.HALF_UP);
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(2);
System.out.println(format.format(tax));

TA贡献1829条经验 获得超4个赞
用下DecimalFormat类
DecimalFormat df = new DecimalFormat("0.00");
df.format(Object);
或看下此类的一些用法,解决你的这个需求很方便的!

TA贡献1877条经验 获得超6个赞
BigDecimal bd = new BigDecimal(tax);// tax为double类型
BigDecimal formatted = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(formatted);
就能得到你想要的结果
你要的是doubleValue(); 就会把后面的0给截取了
- 3 回答
- 0 关注
- 147 浏览
添加回答
举报