JavaのBigDecimalの使い方の注意点
BigDecimalは誤差が出ないように計算ができるクラス。
ただオブジェクトの生成には注意が必要。
文字列から生成する場合
BigDecimal value = new BigDecimal("1234.567");
数値から生成する場合
BigDecimal value = BigDecimal.valueOf(1234.567); // 良い例 BigDecimal value = new BigDecimal(1234.567); // 悪い例
BigDecimal#valueOfは、オブジェクトの再利用をしてくれる。
new BigDecimalは、2進数で正確に表現できない数値を指定すると、誤差が含まれたオブジェクトを生成してしまう。