JavaのBigDecimalの比較とstripTrailingZerosメソッドと指数表記

JavaのBigDecimalの比較とstripTrailingZerosメソッドと指数表記

JavaのBigDecimal型の比較はcompareToでします。

例えば100.0と100はcompareToで比較するとtrueです。

また100.0と指数表記の1E+2もcompareToで比較するとtrueです。

Objects.eualsを使うと100.0と100はfalseですし、100.0と1E+2もfalseになります。

今回再認識したのはBigDecimalの比較はやっぱりcompareToで行うということです。

BigDecimalのstripTrailingZerosメソッドを使用すると指数表記になるときがあります。

このメソッドは小数点以下の0を省いてくれます。

こういう予期せぬこともありうるためObjects.equalsでBigDecimalを比較するのではなく、BigDecimalの比較はcompareToを使うべきです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA