NutzCN Logo
问答 java.lang.ArithmeticException: / by zero at java.math.BigDecimal.divideAndRound
发布于 1535天前 作者 Hamming 2577 次浏览 复制 上一个帖子 下一个帖子
标签:

BigDecimal 除 某个数 等于零 然后就报错了 那么 问题来了 有零这种情况 怎么办呢

 BigDecimal num = BigDecimal.valueOf(Double.valueOf(m.get("num").toString()));
            double completedDouble = Double.valueOf(m.get("completed").toString());
            BigDecimal completed =  num.divide(BigDecimal.valueOf(completedDouble),2, RoundingMode.CEILING);
ERROR c.i.e.handler.GlobalExceptionHandler - java.lang.ArithmeticException: / by zero
	at java.math.BigDecimal.divideAndRound(BigDecimal.java:4137)
	at java.math.BigDecimal.divide(BigDecimal.java:5214)
	at java.math.BigDecimal.divide(BigDecimal.java:1564)
	at java.math.BigDecimal.divide(BigDecimal.java:1594)
1 回复

酱紫 判断 可以解决

 if(BigDecimal.ZERO.compareTo(completed) == 0){
                completed = BigDecimal.ZERO;
            }
添加回复
请先登陆
回到顶部