计算器工具:百分比与随机数生成器
这个大类现在有两个工具:随机数生成器(中文页)和百分比计算器(英文页)。它们做的是同一件事——把你本来要在手机计算器上反复按三遍、还说不清哪一遍是对的的那点算术,一次算清楚,并且把过程摊开给你看。
计算器大类下的工具
随机与概率
- 随机数生成器 —— 指定范围抽随机整数(1-100、1-49 都行):可重复 / 不重复抽取 / 掷骰子 / 抛硬币四种模式共用同一个无偏核心 —— 密码学随机源加拒绝采样,取模偏差被设计排除,每次抽取都把接受上界打印在结果旁边。
浏览器端 · 不限次数
工具页地址不随分类改变:分类只是导航,换分类不会让任何链接失效。 这也是本站把分类与 URL 分开的原因 —— 已经进过搜索引擎和收藏夹的地址,不该因为一次归类调整就跳转或失效。
百分比是四道题,不是一道题
「百分比」这个词底下藏着四道不同的算术:一个数的 15% 是多少;36 是 240 的百分之几;从 36 涨到 54 涨了百分之几;240 增加 15% 之后是多少。四道题长得像,答案各不相同——而一个替你猜「你问的是哪一道」的计算器,正是错误数字进入文档的方式。
英文站的百分比计算器把四道题分开问,并把算式写出来,所以答案可以拿手核对。它还把最容易混的两件事分清楚:涨了 2 个百分点和涨了 2个百分之几——从 4% 到 6% 两句都成立,哪一句是对的取决于你在量什么。中文页会跟着做;在它上线之前,这里只写它的方法,不挂一个还不存在的地址。
「随机」凭什么公平:可以被核对的均匀
网页上的「随机」通常是 Math.random() 乘一个数再取整——快,做游戏够用,但从「这一抽必须公平」的那一刻起就悄悄错了两处:随机源是为速度设计的伪随机生成器,不承诺不可预测,质量还随浏览器引擎而变;把随机字映射到范围的捷径(对范围取模)在范围除不尽源空间时天生有偏。
偏多少是可以算出来的。拿 32 位源掷骰子:2^32 = 6×715827882 + 4,于是 1 到 4 各分到 715827883 个源字、5 和 6 只有 715827882 个——七亿分之一的偏向,掷一百次看不出来,却永远在数学里。源越窄越响:8 位源掷骰子是 43 对 42,2.4% 的偏斜。
随机数生成器两处都不走捷径。随机来自浏览器自带的密码学随机源;映射用拒绝采样——只接受落在「范围在 2^32 以内最大倍数」以下的字,其余丢弃重取,接受域里每个数分到的字数严格相同。这条上界每次抽取都印在结果旁边,公平是核对出来的,不是背下来的。不重复抽取用部分 Fisher–Yates 洗牌,所以抽奖不会把两个奖发给同一张券;骰子和抛硬币走同一个核心。
为什么这些页面里没有税率、利率和行情表
因为一张数据表只有「说得出处、查得到更新时间」才有用,而本站找不到愿意引用的权威来源。一个看着权威、其实过期一年的税率,比没有这个功能更糟——用户会照着它做决定。所以这里的计算器只吃你自己填的数字:工资条上的数、贷款合同里的利率、报价单上的折扣,算的过程全部摊开。
这条规矩的另一半也值得说破:算术归算术,判断归判断。这里会告诉你一个数乘上你给的百分比是多少,不会告诉你这笔贷款值不值得借——那取决于你的收入、别的选择和合同条款,互联网上没有任何计算器知道这些。将来贷款计算器真的落地在这个大类里,利率也由你输入,而不是页面自带。
该用哪一个
- 我要抽人、抽奖、抽签,不能重复。 用随机数生成器的「不重复抽取」:出来的数互不相同,范围开多大都行(上限 2^32,理由写在页面上),个数超过范围会明确报错而不是悄悄少给。
- 我要掷骰子(跑团、桌游、课堂)。 同一个工具的「掷骰子」模式:2 面以上任意面数,6 面和 20 面有快捷按钮,7 面(星期)、12 面(月份)、100 面走同一条无偏路径。
- 我要的是转盘抽名字。 把名单编号 1 到 N,再用「不重复抽取」从 1 到 N 抽——结果与转盘等价,但范围与不重复都摆在明处,抽完还能复算核对;动画给不了这两样。
- 我要算百分比、折扣。 百分比计算器目前只有英文版(四道百分比问题分开问、算式摊开);中文页会跟着做,在它上线之前,这一页只写方法,不挂不存在的地址。
- 我要的是日期或时间。 那是另一个大类:日期与时间管时间戳转换;工作日、日期差的中文页也还没做。
- 我要换算单位。 去换算器大类:长度、重量、温度、数据大小,系数全部是定义值。
站内其它内容
算术很少单独出现,它通常是某件事中间的一步。
- 随机数生成器 —— 本大类的中文工具页:可重复 / 不重复抽取、骰子、硬币,四种模式一个无偏核心。
- 在线工具箱 —— 本站全部工具的总入口,以及它们为什么都只做浏览器端计算。
- 时间戳转换 —— 你抽的随机数如果其实是「一个不重复的 ID」,时间戳是它的邻居。
- JSON 格式化 / 校验 —— 抽出来的编号要填进配置或接口响应时,那一页负责让它可读、可校验。
常见问题
- 这些计算器免费吗?有次数限制吗?
- 免费、不限次数。计算都在你的浏览器里完成,没有服务器调用可以计量,没有账号要注册,也没有每日上限。关掉标签页你输入的数字就没了;再打开,是一个干净的表单,而不是上一次算到一半的残局。
- 随机抽取的公平性怎么保证?
- 靠一条可以核对的上界。取模映射(random() % 范围)在范围除不尽源空间时天生有偏——32 位源掷骰子,1 到 4 各有 715827883 个源字、5 和 6 只有 715827882 个。随机数生成器只接受落在「范围在 2^32 以内最大倍数」以下的源字,其余丢弃重取,于是接受域里每个数分到的字数严格相同——这条上界每次都印在结果旁边,可以拿计算器自己验。
- 为什么没有税率、利率这些表?
- 因为它们是需要出处和更新时间的数据表,而本站找不到愿意引用的权威来源。一个看着权威其实过期的数比没有更糟。所以这里的计算器只吃你自己填的数字:算术归算术,判断归判断——它会告诉你一个数乘上你给的百分比是多少,不会告诉你这笔贷款值不值得借。
- 我输入的数字会被上传或保存吗?
- 不会。浏览器端的工具完全不发送内容:计算在页面里完成,关掉标签页就没了,服务器上没有副本,也没有 cookie 和存储。正因为不经过服务器,它不限次数。唯一的例外是全站的免费简历评分(要调语言模型),它在另一个入口,按隐私说明处理。
- 百分比计算器什么时候有中文版?
- 按工具箱的规划它会来,但只有真的做出来才会出现在上面的清单里——指向还不存在的东西不是路线图,是空头支票。在它上线之前,这一页写的是它的方法:四道百分比问题分开问、算式摊开、零基数和负数怎么处理都说明白。
这个大类下的工具全部跑在你自己的浏览器里:你输入的内容不会发给我们, 页面上的广告是它们的收入来源。另见隐私说明。