折扣计算器
100 减 20% 是 80。20% 和 10% 叠加后实际优惠 28%,要付的是 72 而不是 70。减 20% 后卖 80 的商品,原价是 100。
使用方法
- 在“折后价”里输入原价和折扣率(减去的百分比)。有叠加折扣时,再填第二、第三重折扣。
- 查看实付金额、优惠金额和实际折扣率。叠加折扣会列出每一步的计算。
- 已知折后价和折扣率时用“打折前原价”,已知两个价格时用“折扣率”。
计算方法
折后价 = 原价 × (1 − 折扣率 ÷ 100)。例如 100 减 20%:100 × 0.80 = 80,便宜了 20。注意这里的折扣率是“减去的百分比”,减 20% 就是中文说的“八折”。
叠加折扣是连乘:最终价格 = 原价 × (1 − d1) × (1 − d2) × (1 − d3)。实际折扣率 = 1 − (1 − d1)(1 − d2)(1 − d3)。
所以 20% 加 10% 是 1 − 0.80 × 0.90 = 28%,而不是 30%。因为第二重折扣是在已经降过的价格上再打。
由折后价反推原价:原价 = 折后价 ÷ (1 − 折扣率 ÷ 100)。减 20% 后是 80,则 80 ÷ 0.80 = 100。
折扣率 = (原价 − 折后价) ÷ 原价 × 100。叠加折扣调换顺序,最终价格不变,因为乘法与顺序无关。
为什么 20% 加 10% 不是 30%
每一重折扣都打在上一重降价后的价格上。100 减 20% 是 80,80 再减 10%(8)是 72。总共便宜 28,不是 30。
下表列出实际总折扣和把折扣率直接相加的结果。两次减 50% 也不会变成免费:100 先变 50,再变 25。
| 原价 | 折扣 | 最终价格 | 实际总折扣 | 直接相加 |
|---|---|---|---|---|
| 100 | 20% | 80 | 20% | 20% |
| 100 | 20% + 10% | 72 | 28% | 30% |
| 100 | 50% + 50% | 25 | 75% | 100% |
| 200 | 30% + 20% + 10% | 100.8 | 49.6% | 60% |
| 80 | 15% + 15% | 57.8 | 27.75% | 30% |
反推打折前的价格
减 20% 后卖 80 的商品,原价不是 80 加 20%。20% 是从原价里减掉的,所以原价 = 80 ÷ (1 − 0.20) = 100。80 加 20% 得 96,是错的。
求折扣率
折扣率(%) = (原价 − 折后价) ÷ 原价 × 100。100 降到 80 就是减了 20%,即八折。折后价比原价高时折扣率为负,意思是涨价了。
尾数处理
价格显示到小数点后 2 位,但计算用全部位数,所以叠加多少重折扣也不会累积尾数误差。实体店每一步都会处理尾数,结账金额可能略有出入。
常见问题
八折再打九折等于七折吗?
不等于。第二次折扣打在已经降过的价格上。八折再九折是 0.8 × 0.9 = 0.72,也就是七二折,100 元的东西要付 72 元而不是 70 元。
折扣的先后顺序会影响结果吗?
不会。先九折再八折,和先八折再九折,最终价格一样,都是乘以 0.90 和 0.80。
怎么由折后价算原价?
用折后价除以“1 减折扣率(小数)”。减 20%(八折)就除以 0.80。直接在折后价上加 20% 是不对的。
怎么由两个价格算打了几折?
原价减折后价,除以原价再乘 100,就是减去的百分比。59.99 降到 41.99,大约减了 30%,也就是七折。
优惠是固定金额而不是百分比怎么办?
直接相减。100 元用 15 元优惠券就是 85 元。想知道相当于减了百分之几,在“折扣率”模式里输入 100 和 85。
任何货币都能用吗?
能。只要输入同一种货币的数字,结果也是同一单位。