由十进制字符串生成的java.math.BigDecimal有时可用于setScale(n),但有时不可用。四舍五入之前是否可以检测到“java.lang.ArithmeticException:Rounding necessary”?
scala> BigDecimal("1.00000000").setScale(1)
res0: scala.math.BigDecimal = 1.0
scala> BigDecimal("1.00000001").setScale(1)
java.lang.ArithmeticException: Rounding necessary
我知道我能赶上扔到例外, 但有什么办法知道,如果四舍五入必要或不调用setScale过吗?
你试过吗? –