2009年12月12日土曜日

[Java]BigDecimalクラス 小数値生成時の留意事項

指定した値のBigDecimalオブジェクトを生成する場合は、以下のようにコンストラクタの引数に値を指定するわけですが

小数値を指定する場合、以下のように数値で渡してしまうと、2進数で表現できない値の場合は誤差が発生してしまいます。

誤差発生を防止するには、文字列として渡さなければならない。

おまけというか個人的メモ

BigDecimal同士の値比較にはcompareToメソッドを使用する。
文字列で比較するequalsと異なり、compareToは値で比較するので、例えば10と10.0は等しいと見なされる。

0 件のコメント: