想做一个除法保留两位数,隐约记得BigDecimal有一个divide()方法可以设置保留多少位,但是写出来发现已经过时不建议使用。
网上找一找发现都是大同小异,都还是说的过时方法:
b1.divide(b2,3,BigDecimal.ROUND_HALF_UP)
后来查找源码发现 bigdecimal更新把这些变量给提取出来封装成了一个枚举类,其实还是原来一样
所以新方法应该是:
返回一个BigDecimal ,其值是(this / divisor) ,其标为指定。 如果必须执行以生成与指定的规模的结果舍入,被施加指定的舍入模式
public BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode) {
return divide(divisor, scale, roundingMode.oldMode);
}