0

これはまさに悪夢です。これについては、あなたの集合的な心の助けが本当に必要です。

カナダでは、税は州ごとに異なる方法で計算されます。

Alberta - 5%
British Columbia - 5% GST and 7% PST

各製品の価格に対する直接税の計算は簡単です...カート内のすべてのアイテムをループして、製品価格ごとの税を計算します。アイテムが PST 免除の場合でも、それを確認できます...

トリッキーな部分は、割引付きのクーポンコードを適用する必要があるときです!

明らかに、税引き前の金額に割引を適用する必要があります...しかし、税金を計算するには、各アイテムを個別に処理する必要があります。各アイテムには独自の設定価格があるため、カートの合計から 20 ドル引き下げることはできません。つまり、各アイテムを処理している間、割引後の価格を知る必要があります。

しかし、一部の製品がどのように PST を免除されているか覚えていますか? さて、それはここでの複雑さに重きを置いています:

Item 1 - $24.99 - GST (5%) and PST (7%)
Item 2 - $11.99 - GST (5%)

Discount - $20.00

一体どうすればカート割引を適用できるのに、税の完全性を維持できるのでしょうか?

4

1 に答える 1

0

このようなこと(疑似コード)を行うことはできますか?

$item_price = $10
$final_price = ((($item_price * $discount) * $gst) * $pst)

次に割引を 1 の逆数に設定します。

すなわち、割引なし: $discount = 1.0; 20% 割引:$discount = .8;

編集:実際には、十分な情報を提供していません。割引が合計のパーセンテージである場合、上記のコードは機能します。

しかし、割引が「固定」価格である場合は、問題があります。最初のアイテムの価格を引き下げますか、それともカート全体のすべてのアイテムに均等に分配しますか? いずれにせよ、税金の影響があります。

すべてのアイテムに価格を分配したいと仮定すると、次のようになります。

$discount = $20;
$num_of_items_in_cart = 5;
$discount_per_item = $discount/$num_of_items_in_cart;
$final_price = ((($item_price * $discount_per_item) * $gst) * $pst)
于 2013-09-21T07:40:10.610 に答える