0

ケース1(6%割引):

Subtotal:   750.00
Discount:   45.00
Handling cost:  24.32
21% VAT:    0.00
Total (this is the amount you will deposit):    729.32

ケース2(7%割引):

Subtotal:   1250.00
Discount:   87.50
Handling cost:  39.88
21% VAT:    0.00
Total (this is the amount you will deposit):    1202.38 

この式を適用する場所:

(729.32  - 0.35) / 1.034/ 0.94   =  750.00    (<<--- CORRECT ) ?

(1202.38 - 0.35) / 1.034/ 0.93   = 1250.01    (<<--- My problem why not 1250.00) ?

7%の数式を修正して正確に1250.00を取得するにはどうすればよいですか?分数エラーの代わりに。

4

2 に答える 2

0

浮動小数点演算のIEEE標準にすぎないと思います。実際に何が起こるかを表示するツールがあります:

http://www.h-schmidt.net/FloatApplet/IEEE754.html

于 2010-12-26T11:43:40.517 に答える
0

元の式をどこで入手したか、各部品が何を期待しているのかを知ることは本当に役に立ちます. そのままでは、あなたの式の定数があなたの例で与えられたコストにどのように関係しているかを理解するためだけに、私はいくつかの余分な脚の仕事をすることを余儀なくされました.

手数料は次の式で計算されているようです。

0.35 + (subtotal - discount) * 0.034

なぜ0.35が存在するのかわかりません。

割引は次の式から計算されているようです。

subtotal * discount rate, (where discount rate has already been converted to a decimal)

合計は次の式から計算されるようです。

subtotal + handling costs - discount

これを書き、もう少し考えてみると、利率と小計しかわかっていない場合、小計を決定するために逆算を行う必要があると推測できます。知っていることから始めて、必要に応じて式を再構成しましょう。

subtotal = total + discount - handling costs
subtotal = total + subtotal * discount rate -  (0.35 + (subtotal - discount) * 0.034)
subtotal (1 - discount rate) = total - (0.35 + subtotal - subtotal * discount rate) * 0.034
subtotal (1 - discount rate) = total - 0.35 - subtotal (1 - discount rate) * 0.034
subtotal (1 - discount rate) + subtotal (1 - discount rate) * 0.034 = total - 0.35
subtotal (1 - discount rate) (1 + 0.034) = total - 0.35
subtotal (1 - discount rate) * 1.034) = total - 0.35
subtotal = (total - 0.35) / ((1 - discount rate) * (1.034))

良いニュースは、私があなたと同じ数式を思いついたことです. 悪いニュースは、ケース #2 の数値を打ち込むと、まだ 100 分の 1 ずれていることです。

この小さな誤差は、実際には四捨五入された数値を扱っているという事実から生じます。手数料と割引は、最初に計算されるときに、小数点以下を四捨五入して計算されます。これは、丸め誤差と見なすことができます。それらが加算されると、丸め誤差が大きくなります。これは、パーセンテージと価格を扱う場合の通常の副産物です。

逆の計算が行われると、開始数値 (合計) には丸め誤差が含まれ、最終数値 ​​(小計) は期待値に近いと期待できますが、元の小計であるとは限りません。繰り返しますが、これは、丸め誤差と、合計が最初に計算された方法に固有の不正確さによるものです。

私自身の数学は、式の丸め誤差を予測して修正するのに十分ではありません。ただし、それを検出して事後に修正する方法について提案があります。逆小計を計算した後、その数値を使用して順計算を行うことができます。必要に応じてアイテムが合計されない場合は、「ファッジ ファクター」を適用して、もう一度やり直してください。必要に応じて繰り返します。面倒で、特にエレガントではありませんが、うまくいくはずです。

お役に立てれば。

于 2010-12-26T12:46:20.713 に答える