M
le suffixe signifie que le nombre est BigDecimal
. Vous pouvez vérifier cela dans REPL
user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal
Étant donné que le type de colonne de votre base de données est decimal(5,2)
et decimal(7,2)
, il n'est pas sûr de convertir les nombres en float
ou double
car ces types à virgule flottante ne peuvent pas représenter tous les nombres de decimal(5,2)
ou decimal(7,2)
avec précision.
Vous pouvez google avec le mot clé "inexactitude en virgule flottante". Il y a des tonnes d'articles et de questions-réponses, également dans Stackoverflow.