013-002-012

BigDecimalで正確な金額計算

上級

問題説明

BigDecimalで正確な金額計算

この問題では: BigDecimalクラスを使って浮動小数点の誤差なく正確な金額計算を行い、doubleとの精度の違いを示すプログラムを作成します。

学習目標: doubleの浮動小数点誤差問題とBigDecimalによる正確な十進数計算を理解する

概要

double型では0.1 + 0.2が正確に0.3にならないという有名な浮動小数点誤差があります。金額計算などの精度が重要な場面ではBigDecimalを使います。文字列からコンストラクタで生成するのが正確です。

仕様

  • doubleで0.1 + 0.2の結果を出力(誤差を示す)
  • BigDecimalで同じ計算を正確に行う
  • 商品価格1980円に消費税10%を適用(小数点以下切り捨て)
  • BigDecimalの比較にはcompareToを使用

出力形式

double: 0.1 + 0.2 = 0.30000000000000004
BigDecimal: 0.1 + 0.2 = 0.3
Price: 1980
Tax (10%): 198
Total: 2178
Equal to 2178? true

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録