虽然从Double
s 到BigDecimal
s 的转换情况相比 Java 有所改善
scala> new java.math.BigDecimal(0.2)
res0: java.math.BigDecimal = 0.20000000000000001110223024625156...
scala> BigDecimal(0.2)
res1: scala.math.BigDecimal = 0.2
和类似的东西
val numbers: List[BigDecimal] = List(1.2, 3.2, 0.7, 0.8, 1.1)
工作得很好,像这样的隐式转换不是很合理吗
implicit def String2BigDecimal(s: String) = BigDecimal(s)
默认情况下可用,它可以像这样将字符串转换为 BigDecimals?
val numbers: List[BigDecimal] = List("1.2", "3.2", "0.7", "0.8", "1.1")
或者我是否遗漏了一些东西,Scala 使用BigDecimal
带有浮点值而不是 a 的构造函数解决了 Java 的所有“问题” String
,并且BigDecimal(String)
在 Scala 中基本上不再需要?