doubleからBigDecimalオブジェクトを作成する場合、 BigDecimal bd = new BigDecimal(doubleVal); としてしまうと、浮動小数点で正確に表せない数値の場合、期待結果とズレる場合があります。 Javadocの BigDecimal(double) コンストラクタから引用↓ Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle # 一方、String コンストラクタは完全に予測可能である。new BigDecimal("0.1") と記述すると、「正確に」 0.1 と等しい BigDecimal が作成される。そのため、通常は、これの代わりに String コンストラクタを使用することが推奨されている # BigDecimal のソー