M
suffiks betyder, at tallet er BigDecimal
. Du kan tjekke dette i REPL
user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal
Da din databasekolonnetype er decimal(5,2)
og decimal(7,2)
, er det ikke sikkert at konvertere tallene til float
eller double
fordi disse flydende kommatyper ikke kan repræsentere alle tallene decimal(5,2)
eller decimal(7,2)
præcist.
Du kan google med søgeordet "floating point unaccuracy". Der er tonsvis af artikler og spørgsmål og svar, også inden for Stackoverflow.