M
suffisso significa che il numero è BigDecimal
. Puoi verificarlo in REPL
user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal
Poiché il tipo di colonna del tuo database è decimal(5,2)
e decimal(7,2)
, non è sicuro convertire i numeri in float
o double
perché quei tipi a virgola mobile non possono rappresentare tutti i numeri di decimal(5,2)
o decimal(7,2)
accuratamente.
Puoi Google con la parola chiave "imprecisione in virgola mobile". Ci sono tonnellate di articoli e domande e risposte, anche all'interno di Stackoverflow.