BidDecimal小数位数格式化

正确写法:

BigDecimal decimal = new BigDecimal(12.12345);
decimal= decimal.setScale(2, RoundingMode.HALF_DOWN);
System.out.println(decimal);//取两个小数,四舍五入



如果你这样写将不起作用:

BigDecimal decimal = new BigDecimal(12.12345);
decimal.setScale(2, RoundingMode.HALF_DOWN);
System.out.println(decimal);


为什么?
因为setScale方法会返回一个新的BigDecimal对象,这个新对象才是我们需要的
可以输出一下两个BigDecimal对象的hashcode(), 发现确实不一样.

你可能感兴趣的:(常用API)