当前位置:首页 > 安卓源码 > 技术博客 >

BigDecimal中divide方法抛异常:Non-terminating decimal expansion; no exact representable decimal result

时间:2019-05-29 16:35 来源:互联网 作者:源码搜藏 浏览: 收藏 挑错 推荐 打印

BigDecimal中divide方法抛异常:Non-terminating decimal expansion; no exact representable decimal result 在使用 BigDecimal rate = new BigDecimal( 1 ).divide( new BigDecimal( 3 )); 1 时抛异常: Non -terminating decimal expansion; no exact repre

BigDecimal中divide方法抛异常:Non-terminating decimal expansion; no exact representable decimal result

在使用

BigDecimal rate = new BigDecimal(1).divide(new BigDecimal(3));
  • 1

时抛异常:

Non-terminating decimal expansion; no exact representable decimal result
  • 1

原来是在做除法的时候出现了无限不循环小数如:0.333333333333

解决方案

在做做除法的时候指定保留的小数的位数:

BigDecimal rate = new BigDecimal(1).divide(new BigDecimal(3), 6, BigDecimal.ROUND_HALF_UP);
BigDecimal中divide方法抛异常:Non-terminating decimal expansion; no exact representable decimal result 转载https://www.codesocang.com/appboke/40189.html

技术博客阅读排行

最新文章