Anche se la situazione di conversione da Double
s per BigDecimal
s è migliorata un po 'rispetto a JavaPerché esiste una conversione implicita da Float/Double a BigDecimal, ma non da String?
scala> new java.math.BigDecimal(0.2)
res0: java.math.BigDecimal = 0.20000000000000001110223024625156...
scala> BigDecimal(0.2)
res1: scala.math.BigDecimal = 0.2
e cose del genere
val numbers: List[BigDecimal] = List(1.2, 3.2, 0.7, 0.8, 1.1)
lavoro molto bene, non sarebbe ragionevole avere un conversione implicita come
implicit def String2BigDecimal(s: String) = BigDecimal(s)
disponibile per impostazione predefinita che può convertire Stringhe in BigDecimals come Questo?
val numbers: List[BigDecimal] = List("1.2", "3.2", "0.7", "0.8", "1.1")
O mi manca qualcosa e Scala risolto tutti i "problemi" di Java con utilizzando il costruttore BigDecimal
con un valore in virgola mobile al posto di un String
, e BigDecimal(String)
non è praticamente più necessaria a Scala?
Questo ha poco a che fare con il linguaggio Java stesso, perché dovrebbe essere taggato "Java"? – MAK