Mek*_*iki 1 java scala bigdecimal
由十进制字符串生成的 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
Run Code Online (Sandbox Code Playgroud)
我知道我可以捕获抛出的异常,但是在调用 setScale 之前有什么方法可以知道是否需要四舍五入?
我想你可以设置默认的舍入的setScale,如:
BigDecimal("1.00000001").setScale(1, scala.math.BigDecimal.RoundingMode.HALF_DOWN)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8692 次 |
| 最近记录: |