java为什么我已经在取整了,却得到了一个无终止小数扩展?
好的,我试着除以2个随机的大十进制值。如果数字是不均匀或不规则的,而不是得到余数,我宁愿将其四舍五入到最接近的整数。然而,当我这样做的时候,我的网站崩溃了,我得到了以下错误
原因:java。算术异常:非终止十进制扩展;没有可精确表示的十进制结果
如果我没有把数字四舍五入,我会理解这种情况,但因为我是,我不明白为什么会发生这种情况
BigDecimal cartQty= (testValue1).getQuantity().getValue();
BigDecimal cartMultiplier = (testValue2).getQuantity().getValue();
//below where it crashes so if 4/3 and the value is 1.333 I'd expect to get 2.
BigDecimal TotalPackageInt= cartQty.divide(cartMultiplier ).setScale(0, RoundingMode.UP);
共 (0) 个答案