折扣計算機是一種基於瀏覽器的工具,接受原始價格與折扣百分比,並透過公式 final = price × (1 − discount ÷ 100) 計算出您實際支付的精確售價,以及您省下的金額。輸入任何價格與任何折扣百分比——25%、40%、75%,甚至是 0% 或 100%——結果欄位會在您輸入時即時更新,沒有提交按鈕、不需要註冊,且資料不會離開您的裝置。最簡單的情況是單一商品使用一張優惠券:$80 享 25% 折扣,代表計算機會回報最終價格為 $60、省下 $20。更能揭露問題的情境是當您疊加兩張或更多優惠券時,因為這個工具模擬的是收銀台真正發生的情況——每個百分比是套用於已經調降後的價格,而非原始價格。這就是為什麼 $100 的商品先打 20% 再額外打 10%,您實際支付 $72、省下 $28,也就是說實際上是 28% 的綜合折扣,而不是您把數字相加所預期的 30%。計算機會透過將折扣因子相乘(而非將百分比相加),自動處理這一切。

折扣計算機永遠會回傳的兩個數字
無論每台折扣計算機的運算引擎有多麼不同,它們都會呈現相同的兩個核心輸出:您實際支付的售價,以及從原始價格中扣除的金額。售價(有時稱為最終價格或折扣後價格)就是收銀機上顯示的數字。省下的金額則是標價與您實際支付金額之間的差額——如果有朋友問這筆交易值多少,您會引用這個數字。
許多購物者對其中一個數字的重視程度會超過另一個。如果您想花最少的錢,售價最重要。如果您想證明這筆交易確實如廣告所宣稱的那麼優惠,那麼省下的金額——以及它所代表的百分比——就是您應該指出的數字。同時回傳這兩個數字的計算機,讓您能根據當下重要的目標進行最佳化,而不必重複計算兩次。
計算機不需要您提供的資訊
您不需要提供稅率、優惠碼、商店名稱或起始餘額。輸入項目永遠相同:一個價格以及一個或多個百分比折扣。其他任何東西——銷售稅、運費、BOGO 邏輯、會員點數——都不在百分比折扣計算機的範圍內,屬於其他工具的工作。
單一折扣引擎如何運作
對於單一優惠券,計算機套用一個直接的公式:final = price × (1 − discount ÷ 100)。這個運算式將折扣百分比轉換為一個乘數(即 1 減去折扣的分數),然後乘以原始價格。省下的金額則透過減法得出:amount saved = price − final。
幾個邊界案例顯示了這個公式在極端情況下的行為。0% 折扣會將價格乘以 1,使其維持不變。100% 折扣會將價格乘以 0,讓商品變成免費。
解讀輸出結果
當您在價格欄位輸入 80、在折扣欄位輸入 25 時,計算機會回報最終價格為 $60、省下的金額為 $20。您不需要寫下公式;工具已經自動套用。同樣的計算在任何金額規模下都適用——$8 或 $80,000——這就是為什麼當數字變大時,計算機比心算更可靠。
| 輸入 | 您輸入的內容 | 公式的運作方式 | 您看到的輸出 |
|---|---|---|---|
| 原始價格 | 任何正數(例如 $80) | 直接帶入公式 | — |
| 折扣百分比 | 0 至 100 | 轉換為乘數 (1 − d/100) | — |
| 最終價格 | — | price × (1 − d/100) | 您支付的售價 |
| 省下的金額 | — | price − final | 扣掉的金額 |
| 實際折扣率 | — | 由省下的金額 ÷ 價格得出 | 真實折扣百分比(疊加時顯示) |
這個表格呈現了每個輸入與計算機輸出之間的關係,但並未進行大量運算——實際數字取決於您輸入的數值,工具會即時產生這些數字。
疊加優惠券在背後是如何處理的
大多數人心算出錯的地方就在疊加折扣,這也是計算機能發揮價值的地方。直覺上會想把百分比相加:20% 折扣再加上額外的 10%,一定等於 30% 折扣。但計算機知道得更清楚。它會依序將每張優惠券套用在前一次折扣後剩下的價格上。
在背後,這個工具將單一折扣公式推廣為一組因子的乘積:final = price × (1 − d₁ ÷ 100) × (1 − d₂ ÷ 100) × (1 − d₃ ÷ 100) × …,支援任意數量的疊加優惠券。每個 (1 − dᵢ ÷ 100) 都是一個折扣因子——也就是在下一次折扣後仍保留下來的部分佔目前價格的比例。將它們全部相乘,就會得到您實際支付金額佔原始價格的比率。
接著,綜合實際折扣由 1 減去該乘積得出:effective = 1 − Π(1 − dᵢ ÷ 100)。對於 $100 商品的 20% 與 10% 兩張優惠券,因子分別為 0.80 與 0.90。它們的乘積為 0.72,代表您支付原始價格的 72%,省下 28%。實際折扣率永遠小於百分比的樸素相加結果,而且每疊加一張優惠券,這個差距就會擴大。
單一逐步驗算範例
以 $100 為例,先套用 20% 優惠券:
- $100 × (1 − 20 ÷ 100) = $100 × 0.80 = 第一張優惠券後的 $80。
- $80 × (1 − 10 ÷ 100) = $80 × 0.90 = 第二張優惠券後的 $72。
- 省下的金額 = $100 − $72 = $28。
- 實際折扣 = $28 ÷ $100 = 28%。
20% + 10% 的樸素相加預測會省下 $30。真實答案是 $28,而少掉的 $2 來自於第二張優惠券僅作用於已經調降後的 $80,而非全額 $100。驗證:final = 100 × 0.80 × 0.90 = 72 ✓;effective = 1 − 0.72 = 0.28 = 28% ✓。
為什麼順序不會影響最終價格
因為疊加折扣公式是將因子相乘,而乘法具有交換性,所以您列出優惠券的順序永遠不會影響最終價格。先套用 20% 再套用 10%,得到 $72;先套用 10% 再套用 20%,仍然得到 $72:$100 × 0.90 = $90,接著 $90 × 0.80 = $72。無論順序為何,0.80 與 0.90 的累積乘積都相同。
當比較不同商店以不同順序列出優惠券的優惠時,這個特性非常實用。一家標榜「先打 20%,再額外打 10%」的商店,與標榜「先打 10%,再額外打 20%」的商店,最終價格相同。綜合實際折扣百分比也相同,因為 effective = 1 − product,而乘積與順序無關。
在日常購物中,順序唯一有影響的地方是收銀員掃描優惠券的順序——這是商店系統的限制,而非數學上的限制。計算機不會模擬掃描順序;它會計算出數學上正確的最終價格,無論順序如何,結果都一樣。
使用折扣計算機
若要實際操作這個引擎,請在瀏覽器中開啟折扣計算機,然後依照下列步驟進行:
- 輸入原始價格。將標價輸入第一個欄位。
- 輸入折扣百分比。將折扣百分比以整數形式輸入(例如,25 代表 25%)。售價與省下金額的欄位會在您輸入時即時更新——沒有提交按鈕。
- 如果您的優惠可疊加,請新增第二張優惠券。點擊「Stack another discount」,就會出現一個新的折扣欄位。輸入第二個百分比;計算機會立即以兩個因子的乘積重新計算最終價格。
- 為更多優惠券新增欄位。每新增一個欄位,就會將目前的累積乘積再乘一次,因此最終價格會持續下降。計算機處理三、四張或更多疊加優惠券時,步驟無需改變。
- 讀取三個關鍵數字。最終價格是您支付的金額,省下的金額是價差的美元數,以及(疊加時)綜合實際折扣,代表整個疊加優惠的單一百分比。
運算實際在哪裡執行
折扣計算機在用戶端執行所有運算,白話來說,就是 JavaScript 在您的瀏覽器分頁中執行,而不是在遠端伺服器上。您輸入的價格與百分比都保留在您的裝置上;不會被上傳、儲存或傳輸。這對購物隱私很重要,特別是當您在查詢不想被記錄下來的禮品或與薪資相關的購買價格時。
四捨五入的處理方式也相當保守。中間值——折扣因子的累積乘積——會保持精確,直到數字顯示的那一刻才會四捨五入至小數點兩位。因此,如果兩個疊加的優惠券在內部產生 0.7283 的最終乘數,您在畫面上會看到 0.73,但下一次運算(若您疊加第三張優惠券)仍然會使用精確的 0.7283,而非四捨五入後的版本。這避免了手動計算疊加時可能產生的小幅但會累積的四捨五入誤差。
計算機真正發揮價值的實際情境
以下幾個日常情境說明了為什麼這個工具的特定機制——而不僅僅是粗略的估計——值得您打開來使用:
- 驗證收銀員的計算。如果收據上顯示套用了兩張優惠券,您可以從折扣因子重建最終價格,確認收銀員的計算是否正確。
- 比較疊加優惠與單一折扣。「打 20% 再額外打 10%」的促銷實際上是 28% 折扣,而不是 30%。競爭對手商店直接打 28% 的折扣與之相同;直接打 30% 則更優惠。計算機會顯示精確的實際折扣率,讓比較更為誠實。
- 現場計算清倉標籤。標籤上的原始價格與目前價格能讓您心算出折扣百分比,但如果您需要比較兩個清貨區,計算機可以立即幫您完成。
- 分級或大量折扣活動。有些商店會在商品層級套用一張優惠券,又在購物車層級套用另一張優惠券。透過疊加折扣模型同時執行這兩張優惠券,就能揭示整筆訂單的真實實際折扣。
對於想更深入了解疊加優惠券獨立運作方式的讀者,疊加完整攻略指南以額外範例說明了相同的因子相乘邏輯。工具本身才是最快速的路徑:輸入價格、輸入百分比,您真正關心的兩個數字就會出現,無需計算機 App、試算表或心算的失誤。
如需更深入的探討,請參閱線上使用折扣計算機是否安全?。