很容易创建:
object zero extends BigDecimal(java.math.BigDecimal.ZERO)
我只是想知道这是否是一个疏忽,或者是否有意识地决定不添加它,如果是,我是否有理由避免使用上面的代码。也许与
MathContext
有关?
最佳答案
我认为这是因为通常你不需要它。而在 Java 中,您需要键入类似的内容
BigDecimal b = new BigDecimal(1.23).add(BigDecimal.ZERO);
在 Scala 中,有数字转换意味着您可以编写
val b = BigDecimal(1.23) + 0
你也可以简单地写成
BigDecimal(0)
.如果您大量实例化,您可能希望将其缓存为命名值(对于任何其他数字),但您通常不需要,我认为如果您删除特殊情况,这有助于简化 API必须记住。
关于scala - 为什么 Scala 的 BigDecimal 没有零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9435811/