有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案