跳到主要内容
CalcMax

百分比变化计算器

结果

25.0000%

变化百分比(%)

变化量(新值 − 旧值)
25.0000
倍数(新值 ÷ 旧值)
1.2500

百分比变化计算器拿一个旧值与一个新值,给出后者相对前者动了多少,写成带符号的百分比。从 100 到 150 是 +50%,而符号正是这一页的要点:同一个读数既管上升也管下降,你不必事先知道自己在看哪一种。百分比相对旧值来算,这也正是两个方向不对称的原因。从 100 涨到 150 是 +50%,而从 150 跌回 100 是 -33.3333%——同一段路,两个不同的百分比,因为回程是相对 150 算的,不是相对 100。这不是四舍五入的假象,也不是本页的怪癖,而是这个问句本身的意思。于是「涨」与「跌」不会互相抵消:一件东西先涨 50%、再跌 50%,最后比一开始更低。除了百分比,还有两格读数:变化量(就是那个分子),以及倍数——新值除以旧值——它等于 1 表示没变、等于 0 表示新值什么都没有了。旧值可以是负数,而一次看上去是上涨的变化可能给出负的百分比;本页把这个情形解释清楚,而不是绕开它。

十组变化,两个方向并排

旧值新值变化百分比变化量倍数
10015050501.5
150100-33.3333-500.6667
10075-25-250.75
7510033.3333251.3333
506020101.2
6050-16.6667-100.8333
100100001
1000-100-1000
1002001001002
405025101.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,两个各有各的用处。第五种是负的起点,比如亏损缩小,那里答案的符号需要小心,本页把「为什么它看着不对」写清楚了。

算例

  1. 100 → 150

    1. 求变化量:150 − 100 = 50
    2. 除以旧值:50 ÷ 100 = 0.5
    3. 乘以 100:0.5 × 100 = 50,所以变化是 +50%
    4. 倍数是 150 ÷ 100 = 1.5,说的是同一件事:这个值变成了一倍半

    这一对里的上涨那一档,下面紧跟着它的反向。分母是旧值 100,所以答案是整齐的 50%。这里三格互相印证:变化量 50、百分比是 100 的 50%、倍数是 1.5。核对下降那一档时,拿这一行当对照——两个方向是大家以为会对称、而实际并不对称的那一对。

  2. 150 → 100

    1. 求变化量:100 − 150 = -50
    2. 除以旧值,而这次的旧值是 150:-50 ÷ 150 = -0.333333…
    3. 乘以 100:保留四位是 -33.3333%
    4. 倍数是 100 ÷ 150 = 0.6667

    同一段路的回程,也是让人意外的那一格:跌回去是 -33.3333%,不是 -50%。绝对变化量同样是 50,倍数从 1.5 变成 0.6667——但分母从 100 换成了 150,百分比就不可能一样。把这一档与上面那一档并排看:100 到 150 与 150 到 100 是同样两个数,而百分比并不是镜像。这就是为什么「先涨百分之几、再跌同样的百分之几」回不到原处。

  3. 100 → 125

    1. 求变化量:125 − 100 = 25
    2. 除以旧值:25 ÷ 100 = 0.25
    3. 乘以 100:+25%
    4. 倍数是 125 ÷ 100 = 1.25

    本页的默认那一对,选它是因为三格读数彼此明显不同:变化量是 25,百分比是 25%,倍数是 1.25。把这三格当成可以互换的,是这类计算里最常见的错误——涨 25% 不是多了 25 个什么东西,而是多了旧值的四分之一。

  4. 100 → 0

    1. 求变化量:0 − 100 = -100
    2. 除以旧值:-100 ÷ 100 = -1
    3. 乘以 100:-100%
    4. 倍数是 0 ÷ 100 = 0

    一路跌到什么都不剩,本页接受这种输入:除法相对的是旧值 100,算式完全有定义。这也是百分比唯一有地板的一档——跌到 -100% 就到头了,没有什么能跌掉比全部更多。倍数 0 是能正确叠加的那一格,因为乘 0 之后无论再来什么都还是 0。

  5. -50 → -25

    1. 求变化量:-25 − (-50) = 25,值确实变大了
    2. 除以旧值:25 ÷ (-50) = -0.5
    3. 乘以 100:-50%——按算式是跌了,尽管这个数变大了
    4. 倍数是 -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 是同一个原因。

参考资料

相关计算器