您的位置:首页 > 其它

BigDecimal做除法时的一个异常

2012-11-23 15:00 483 查看
今天程序报了一个错误:

Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.


对应程序:

BigDecimal b1 = new BigDecimal(12500);
BigDecimal b2 = new BigDecimal(1500);

System.out.println(b1.divide(b2));


原因是忘记加小数位的精度了,导致除不尽,出现无限循环小数,解决:

BigDecimal b1 = new BigDecimal(12500);
BigDecimal b2 = new BigDecimal(1500);

System.out.println(b1.divide(b2, 3, BigDecimal.ROUND_HALF_UP));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: