M
接尾辞は、番号がBigDecimal
であることを意味します 。これはREPLで確認できます
user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal
データベースの列タイプはdecimal(5,2)
であるため およびdecimal(7,2)
、数値をfloat
に変換するのは安全ではありません またはdouble
これらの浮動小数点型は、decimal(5,2)
のすべての数値を表すことができないためです。 またはdecimal(7,2)
正確に。
「浮動小数点の不正確さ」というキーワードでグーグルできます。 Stackoverflow内にも、たくさんの記事やQ&Aがあります。