2017-03-07 12 views
2

60ユーロの商品に5ユーロを差し引いたとします。これは、0.08333の割引に等しいコンマの後ろに何回訂正する必要がありますか

...または8.333 ...%

逆算すると、私は計算します:

  • ラウンド(60 * 0.083333、2)= 5,00
  • ラウンド(60 * 0.08333、2)= 5,00
  • ラウンド(60 * 0.0833、2)= 5,00
  • ラウンド(60 * 0.083、2)= 4,98

Q:正確な数値(モンティリー取引の場合)を得るためにコンマの後ろに何桁の価格が必要ですか?

実際には、割引をMySQLテーブルに保存するときに、decimal(x、y)型のパラメータはどのようにするべきですか?

答えて

0

累積誤差が1/2セントまたは0.005より小さい必要があります。中間結果の相対的な精度はそれを反映する必要があります。計算に含まれる価格がすべて10^k = 10^(k+2)セント未満の場合、これにはすべての中間の数字の有効数字が0.5*10^(-k-2)または少なくともk+3の相対精度が必要です。

エラーは計算の各ステップで1次加算で累算されるため、計算に複数のステップがある場合、計算の相対的な精度を調整する必要があります。有効数字の桁数は、sステップでlog10(s)になります。

k=22ステップの結果が丸められているため、正しい結果を得るためには、中間結果の有効数字は少なくとも5である必要があります。

関連する問題