scala 上的除法运算符有什么用BigDecimal
?
val d1 = BigDecimal(2)
val d2 = BigDecimal(3)
val div = d1 / d2 //throws ArithmeticException: non-terminating decimal expansion
为了使它起作用,您需要DECIMAL128
在小数上定义一个上下文。不幸的是,我能看到这样做的唯一方法是:
val div = new BigDecimal(d1.bigDecimal.divide(d2.bigDecimal, MathContext.DECIMAL128)) //OK!
但这只是一团糟!我错过了什么吗?