百分比变化计算器
结果
变化百分比(%)
- 变化量(新值 − 旧值)
- 25.0000
- 倍数(新值 ÷ 旧值)
- 1.2500
百分比变化计算器拿一个旧值与一个新值,给出后者相对前者动了多少,写成带符号的百分比。从 100 到 150 是 +50%,而符号正是这一页的要点:同一个读数既管上升也管下降,你不必事先知道自己在看哪一种。百分比相对旧值来算,这也正是两个方向不对称的原因。从 100 涨到 150 是 +50%,而从 150 跌回 100 是 -33.3333%——同一段路,两个不同的百分比,因为回程是相对 150 算的,不是相对 100。这不是四舍五入的假象,也不是本页的怪癖,而是这个问句本身的意思。于是「涨」与「跌」不会互相抵消:一件东西先涨 50%、再跌 50%,最后比一开始更低。除了百分比,还有两格读数:变化量(就是那个分子),以及倍数——新值除以旧值——它等于 1 表示没变、等于 0 表示新值什么都没有了。旧值可以是负数,而一次看上去是上涨的变化可能给出负的百分比;本页把这个情形解释清楚,而不是绕开它。
十组变化,两个方向并排
| 旧值 | 新值 | 变化百分比 | 变化量 | 倍数 |
|---|---|---|---|---|
| 100 | 150 | 50 | 50 | 1.5 |
| 150 | 100 | -33.3333 | -50 | 0.6667 |
| 100 | 75 | -25 | -25 | 0.75 |
| 75 | 100 | 33.3333 | 25 | 1.3333 |
| 50 | 60 | 20 | 10 | 1.2 |
| 60 | 50 | -16.6667 | -10 | 0.8333 |
| 100 | 100 | 0 | 0 | 1 |
| 100 | 0 | -100 | -100 | 0 |
| 100 | 200 | 100 | 100 | 2 |
| 40 | 50 | 25 | 10 | 1.25 |
每一行是一对值,加上本页从它们算出的三格读数,五列依次是旧值、新值、带符号的百分比、朴素的变化量、倍数。前两行是刻意相邻的:100 到 150 与 150 回到 100 是同样两个数反过来,而百分比是 +50% 与 -33.3333%。把这两行连起来读,是看出「百分比变化不对称」最快的办法,它们也因此被放在最上面而不是埋在中间。第三、四行是较小的一对、两个方向各一行:100 到 75 与 75 到 100,用更小的数展示同一种不对称。第五、六行是绝对量都动 10 的一对:50 到 60 与 60 到 50,百分比分别是 +20% 与 -16.6667%。第七行完全没动,三格读数各自取到自己的空值——0%、0 与 1。第八行一路跌到零,那是 -100% 的地板、倍数为 0。第九行是翻倍,其中百分比与变化量恰好是同一个数,纯属基数正好是 100 的巧合;第十行是在小基数上动 10,得到 +25%——提醒一句:百分比与绝对量是两个不同的问题。
公式
变化量 = 新值 − 旧值 变化百分比 = (新值 − 旧值) ÷ 旧值 × 100 倍数 = 新值 ÷ 旧值
- 旧值
- 作为起点的那个值:默认那一档是 100。它是整个算式的分母,所以不能是 0——没有任何东西的百分之几是相对零说的。它可以是负数,合法但读起来别扭,下面有一节专门讲这一种。
- 新值
- 最后落到的那一个值:默认那一档是 125。它可以比旧值小,那变化就是负的;它也可以是 0,那是彻底跌没了,不是出错。
- 变化量
- 朴素的差,新值减旧值:100 到 150 是 50。它带符号,所以既说了多少、也说了往哪边。它是百分比的分子,单独列出来是因为只有百分比、不知道绝对量很难决策——小东西的 25% 与大东西的 25% 是同一个读数。
- 变化百分比
- 变化量除以旧值再乘 100:100 到 150 是 +50%,150 到 100 是 -33.3333%。正数表示值涨了,负数表示跌了,零表示没动。它保留四位小数,那是显示位数;除不尽的变化,第四位是四舍五入过的。
- 倍数
- 新值除以旧值:100 到 150 是 1.5,没变是 1,减半是 0.5。它说的是「乘多少」而不是「加多少」,而乘的读法才是能正确叠加的——连着乘两个倍数得到的是对的总变化,把两个百分比加起来则不是。
第一种用法是比较一个事先不知道方向的量:可能是涨了也可能是跌了的指标,你想要一个两面都管得住的读数。第二种是核对外面给出的说法,比如「涨了百分之几」的价格或流量——倍数那一行往往是最快的核对方式,1.5 跟那两个数对得上就是对得上。第三种是一连串变化,这时候该连着乘的是倍数,该引用的是百分比。第四种是跌到一点不剩:百分比正好是 -100%,倍数是 0,两个各有各的用处。第五种是负的起点,比如亏损缩小,那里答案的符号需要小心,本页把「为什么它看着不对」写清楚了。
算例
100 → 150
- 求变化量:150 − 100 = 50
- 除以旧值:50 ÷ 100 = 0.5
- 乘以 100:0.5 × 100 = 50,所以变化是 +50%
- 倍数是 150 ÷ 100 = 1.5,说的是同一件事:这个值变成了一倍半
这一对里的上涨那一档,下面紧跟着它的反向。分母是旧值 100,所以答案是整齐的 50%。这里三格互相印证:变化量 50、百分比是 100 的 50%、倍数是 1.5。核对下降那一档时,拿这一行当对照——两个方向是大家以为会对称、而实际并不对称的那一对。
150 → 100
- 求变化量:100 − 150 = -50
- 除以旧值,而这次的旧值是 150:-50 ÷ 150 = -0.333333…
- 乘以 100:保留四位是 -33.3333%
- 倍数是 100 ÷ 150 = 0.6667
同一段路的回程,也是让人意外的那一格:跌回去是 -33.3333%,不是 -50%。绝对变化量同样是 50,倍数从 1.5 变成 0.6667——但分母从 100 换成了 150,百分比就不可能一样。把这一档与上面那一档并排看:100 到 150 与 150 到 100 是同样两个数,而百分比并不是镜像。这就是为什么「先涨百分之几、再跌同样的百分之几」回不到原处。
100 → 125
- 求变化量:125 − 100 = 25
- 除以旧值:25 ÷ 100 = 0.25
- 乘以 100:+25%
- 倍数是 125 ÷ 100 = 1.25
本页的默认那一对,选它是因为三格读数彼此明显不同:变化量是 25,百分比是 25%,倍数是 1.25。把这三格当成可以互换的,是这类计算里最常见的错误——涨 25% 不是多了 25 个什么东西,而是多了旧值的四分之一。
100 → 0
- 求变化量:0 − 100 = -100
- 除以旧值:-100 ÷ 100 = -1
- 乘以 100:-100%
- 倍数是 0 ÷ 100 = 0
一路跌到什么都不剩,本页接受这种输入:除法相对的是旧值 100,算式完全有定义。这也是百分比唯一有地板的一档——跌到 -100% 就到头了,没有什么能跌掉比全部更多。倍数 0 是能正确叠加的那一格,因为乘 0 之后无论再来什么都还是 0。
-50 → -25
- 求变化量:-25 − (-50) = 25,值确实变大了
- 除以旧值:25 ÷ (-50) = -0.5
- 乘以 100:-50%——按算式是跌了,尽管这个数变大了
- 倍数是 -25 ÷ -50 = 0.5
看着像 bug 而不是 bug 的那一档。值从 -50 走到 -25 是往上走,变化量 +25 也是正的;百分比却是 -50%,因为分子是正的、分母是负的。在一个会跨过零的量上读百分比变化本来就别扭,诚实的做法是把算式摆出来,而不是假装答案很符合直觉。倍数指着同一个方向、一样别扭:值变大了,它却小于 1。两者都是上面那几条定义的正确应用,也都是「除了百分比还要看变化量」的理由。
局限
旧值不能是 0。零的百分之几没有值——从零涨到五十,说是涨了无穷多倍也行、说是涨了 100% 也行,两个都不是有用的答案,所以本页拒绝这次输入,而不是编一个出来。新值可以是 0:那是正好 -100% 的下跌,是一个真实结果,也是这类计算的地板。两个值都可以是负数,而两个负数之间的变化正是百分比最容易与直觉相反的地方:-50 到 -25 给出 -50%,而这个值明明变大了,因为分母是负的。本页把它报出来、并解释清楚,而不是把它标成错误。百分比保留四位小数,所以除不尽的变化在最后一位上是近似值——150 跌回 100 是 -33.3333%,并不精确等于三分之一。本页对「大不大」不做任何判断:它不说 3% 算大还是算小,那完全取决于在量什么,体重动 3% 与股价动 3% 不是同一件事。本页也只处理两个值,仅此而已:它不是复利计算器,也不会把一串变化合并成一个总数——要做那件事,该连着乘的是倍数那一行。
常见问题
- 变化百分比怎么算?
- 公式是:用新值减旧值,再除以旧值,最后乘 100。从 100 到 150 变化量是 50,50 ÷ 100 = 0.5,也就是 +50%。符号说的是方向:正数是涨、负数是跌。
- 为什么涨 50% 之后再跌 50% 回不到原处?
- 因为这两个百分比相对的是不同的基数。从 100 涨到 150 是 +50%,而从 150 跌回 100 是 -33.3333%——回程是相对 150 算的。从 150 真跌 50% 会落到 75,比起点还低。这就是百分比变化不对称,也是连着算变化时该用倍数那一格的原因。
- 变化百分比可以是负数吗?
- 可以,负数就表示这个值跌了。从 150 跌到 100 是 -33.3333%,跌到一点不剩正好是 -100%,也就到头了。负数不是错误——只有当它与变化量的方向矛盾时才需要留意,而那种情况只在两个值里有一个是负数时才会出现。
- 倍数那一格有什么用?
- 它是新值除以旧值:100 到 150 是 1.5,150 到 100 是 0.6667。它说的是「乘多少」而不是「加多少」,因此它是能正确叠加的那一格:先后乘两个倍数得到的是对的总变化,而把两个百分比直接相加则不是。
- 旧值是 0 怎么办?
- 那就算不出百分比,本页会说明这一点,而不是返回一个数。从零开始的变化在百分比上没有定义——你可以说涨了无穷多倍,也可以说涨了 100%,两个都不算错。新值是 0 是另一回事,本页接受:那是 -100% 的下跌。
- 负数可以用吗,比如亏损缩小?
- 可以,而答案有时看着是反的。从 -50 到 -25,值变大了、变化量 +25 也是正的,百分比却是 -50%,因为分母是负的。这种情况本页把算式摆出来,而不是把它藏起来;倍数小于 1 是同一个原因。
参考资料
- Percentage Change(百分比变化)——初值到终值的相对变化;包括它对两个方向不对称、以及初值为 0 时没有定义这两条性质 — Wolfram MathWorld(美国)
- Percentage Change(百分比变化怎么算)——本页的方法,附一个算例说明「涨上去的百分比不能用同样大小的跌幅抵消」 — Maths Is Fun(Rod Pierce)
- Percent(百分数)——写成分母为一百的分数;本页主结果印的就是这个形式 — Wolfram MathWorld(美国)
- Ratio(比)——两个数的商;本页倍数那一行就是它,而连着乘倍数才是变化能正确叠加的原因 — Wolfram MathWorld(美国)