Aunque la situación de la conversión de Double
s a BigDecimal
s ha mejorado un poco en comparación con Java¿Por qué hay una conversión implícita de Float/Double a BigDecimal, pero no de String?
scala> new java.math.BigDecimal(0.2)
res0: java.math.BigDecimal = 0.20000000000000001110223024625156...
scala> BigDecimal(0.2)
res1: scala.math.BigDecimal = 0.2
y cosas como
val numbers: List[BigDecimal] = List(1.2, 3.2, 0.7, 0.8, 1.1)
funcionan muy bien, ¿no sería razonable tener una conversión implícita como
implicit def String2BigDecimal(s: String) = BigDecimal(s)
disponible por defecto que puede convertir cadenas a BigDecimals como ¿esta?
val numbers: List[BigDecimal] = List("1.2", "3.2", "0.7", "0.8", "1.1")
O me estoy perdiendo algo y Scala resolvieron todos los "problemas" de Java con el uso del constructor BigDecimal
con un valor de punto flotante en lugar de un String
, y BigDecimal(String)
básicamente no se necesita más en Scala?
Esto tiene poco que ver con el lenguaje Java, ¿por qué debería etiquetarse "Java"? – MAK