BigDecimal("1.00000000").setScale(1) re-6ren">
gpt4 book ai didi

java - 舍入前可以检测到 "java.lang.ArithmeticException: Rounding necessary"吗?

转载 作者:行者123 更新时间:2023-12-01 16:48:59 24 4
gpt4 key购买 nike

由十进制字符串生成的java.math.BigDecimal有时可用于setScale(n),但有时不可。

scala> BigDecimal("1.00000000").setScale(1)
res0: scala.math.BigDecimal = 1.0

scala> BigDecimal("1.00000001").setScale(1)
java.lang.ArithmeticException: Rounding necessary

我知道我可以捕获抛出的异常,但有什么方法可以在调用 setScale 之前知道是否需要舍入?

最佳答案

我认为您可以为setScale设置默认舍入,例如:

BigDecimal("1.00000001").setScale(1, scala.math.BigDecimal.RoundingMode.HALF_DOWN)

关于java - 舍入前可以检测到 "java.lang.ArithmeticException: Rounding necessary"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com