scala - 为什么 Scala 的 BigDecimal 没有零?

标签 scala bigdecimal zero

很容易创建:

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/

相关文章:

scala - 替代模型的使用

java - BigDecimal(java) 中指数表示法的缩放问题

c++ - 我可以给出一个流来在 C++ 中的数字上打印前导零的指令是什么?

javascript - 如何使用 jQuery 在文本框中忽略第一个输入的字符为零

arrays - 在向量前面添加零

scala - 为什么 Scala 方法 isInstanceOf[T] 不起作用

scala - Play 2.0 + Bootstrap3 : Showing active navigation item

scala - Scala 单例在类型层次结构中的位置

java - BigDecimal,setScale 问题

java - BigDecimal setScale 被忽略了吗?