跳到主内容
UniKit

百分比计算器

一个页面搞定五种百分比问题:求百分值、求百分比、增减百分比、折扣与加价、按比例分配,结果可一键复制。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

200 × 15%30

这个工具能做什么

  • 算折扣或分摊账时不用心算:求「X 的 Y% 是多少」、算「30 是 200 的百分之几」、比「从 100 到 150 涨了多少」都是一次输入立刻出结果。
  • 处理价格场景:填原价和折扣率得到现价与省下的金额,切到加价模式则按成本算售价与增加额。
  • 分摊费用不漏分:按比例分配用「最大余额法」,0.01 级的最小单位先取整再把余数补给小数最大的那一份,所以各份之和永远等于总数。
  • 需要精确到分的场景:所有算式都按「先乘后除」排列并做十进制四舍五入修正,1.005 这类边界不会因为二进制浮点误差少算 1 分。

示例

输入

模式:折扣 / 加价
原价:200
折扣率:25

输出

现价:150
省下:50

同一组数字切到「加价」模式会得到现价 250、增加 50;「按比例分配」模式下总数 100、权重 1,2,3 会得到 16.67、33.33、50,合计正好 100。

常见问题

「从 X 到 Y 的增减」算的是百分比还是差值?

两个都给:百分比是 (Y − X) ÷ X × 100(减少时带负号),下面一行还给出绝对值变化量 Y − X。所以想把「涨了 50%」和「涨了 50 元」分清楚时一眼就能看到。

折扣和加价有什么不一样?

折扣是把原价往下调:现价 = 原价 × (100 − 折扣率) ÷ 100。加价是在成本上加:现价 = 成本 × (100 + 加价率) ÷ 100。两者算法不同,所以在「折扣 / 加价」模式里要先用上面的切换选对方向。

按比例分配为什么不会出现「加起来差 1 分」?

因为用的是最大余额法:先把每份按权重算出的值向下取整到最小单位,再按小数部分从大到小把剩余单位补出去。这样各份之和严格等于总数,不像逐项四舍五入那样总和可能少 1 分或多 1 分。

权重能写负数或 0 吗?

权重不能为负(会提示「权重不能为负数」),可以是 0(该份分得 0),但所有权重之和不能为 0。权重支持逗号、空格、换行和顿号分隔,直接粘贴「1, 2, 3」就行。

结果会四舍五入到几位?

展示时最多保留 6 位小数并去掉末尾多余的 0,金额类场景(折扣、分配)的计算精度是 2 位小数。需要更多位数请在本地再做一次精确计算,不要依赖四舍五入后的展示值继续运算。

关键词:percentagepercentpercentage calculatordiscountmarkuppercent change百分比百分比计算器百分数折扣计算加价增减百分比按比例分配

同类工具