これは、BigDecimal
を初期化した結果です。 double
から :
System.out.println(String.format("%21.20f", new BigDecimal(0.493));
// Prints 0,49299999999999999378
したがって、BigDecimal
この方法で初期化するとデータベースに保存され、不正確な値が生成され、後で正しくロードされます。
BigDecimal
の場合 文字列で初期化されるか、値がJavaで直接設定されている場合は、すべて正常に機能します。