报错"/>
BigDecimal运算报错
BigDecimal运算报错
在开发中使用BigDecimal 除法运算deivide
产生了以下报错:
报错原因就是计算结果除不尽并且未设置计算结果精度和舍入模式,解决办法就是设置一下divide
的运算精度各舍入模式即可
@Test
public void test1() {BigDecimal one = new BigDecimal(1);BigDecimal three = new BigDecimal(3);BigDecimal result = one.divide(three); // 报错 System.out.println("result = " + result);
}@Test
public void test2() {BigDecimal one = new BigDecimal(1);BigDecimal three = new BigDecimal(3);BigDecimal result = one.divide(three,2,BigDecimal.ROUND_HALF_UP); // 0.33System.out.println("result = " + result);
}
关于BigDecimal的舍入模式可以查看源码,一共有7种模式。
更多推荐
BigDecimal运算报错
发布评论