使用方法
- 打开页面默认就带示例:数量 5、下限 5000、上限 20000、种子 7654321,结果区已经显示五个工资,你不需要先输入任何东西。
- 填好四个字段:数量是 1 到 50 的整数,下限与上限是整数元,种子是任意非负整数;相同种子必然得到同一组工资。
- 在任意输入框里按回车也能立即生成,不必点按钮;结果区是当场算出来的,不是固定文案(但同一组输入结果恒定)。
- 点「生成」按钮,页面按固定种子算法逐个产出工资并取整到十位;点「复制结果」把整组工资复制到剪贴板。
- 某字段为空、不是整数或上限小于下限时,会点名当前字段提示你修正,不会硬凑出一个越界结果。
- 本页不联网、不写本地存储,刷新即回到默认示例,所有生成都在你自己的浏览器里完成,输入内容不会离开设备。
这个 随机工资生成器 能解决什么
这个生成器 解决的是「想批量造一组看起来合理的工资数字,又希望结果能复现」这个具体需求。普通随机每次都变,没法复现;本工具用固定种子,同样的种子永远造同一组,方便分享与复核,也方便做薪酬演练的对照样本。
第一类用途是薪酬方案演练。产品经理或人事在做预算沙盘时,需要一批分布在某个区间的工资样例来试算总成本,手动编既慢又容易扎堆;本工具按区间批量造数,几次就能拿到一组覆盖不同档位的样本。
第二类用途是游戏与任务奖励。做角色扮演、职场模拟类小游戏时,常要给随机角色发随机工资,用固定种子保证可回归测试,不会出现「昨天能复现今天复现不了」的尴尬,也便于写攻略时统一口径。
第三类用途是教学与统计演示。讲伪随机、线性同余、种子概念时,这组整数工资是直观又便宜的样例,配合下方对照表能看到不同种子对应的结果分布,比空讲公式更省力。
第四类用途是抽签与分组补贴。把一批名额按区间随机派发补贴金额,用种子保证可复盘,活动审计时照种子重跑即可还原当天的发放,减少人为改数的空间。
第五类用途是压测与样例数据。需要一批可复现的随机工资做界面或接口测试时,固定种子保证每次跑出的样例一致,便于比对回归差异,不会因为随机而时好时坏。
第六类用途是写作与视频素材。写职场小说、做财经科普视频时,常常需要几组「真实感」的工资数字当背景,本工具按区间造数,比随手编更接近真实分布,读者也挑不出明显破绽。
第七类用途是团队破冰小游戏。聚会时用工资高低玩「谁的工资最高」的玩笑,固定种子让同一轮结果可复现,方便截图分享,也不会因为重开页面就变卦。
第八类用途是算法作业对照。学生做随机数生成实验时,把本页同种子的五个数抄去对照自己的实现,能快速发现线性同余的进位或取模是否写错,比纯理论调试高效得多。
值得一提的是,本页所有生成都在本地完成,不联网也不上传。你可以放心填入任意种子,结果不会被任何服务器记录,这点和需要登录的在线随机站不同。
原理和变量
随机工资生成器 的核心是「线性同余取数加区间映射」,同一种子必然得到同一组,可被手算复核。算法为:取一个状态 s 初值为种子;每生成一个工资,先更新 s 等于(s 乘 1103515245 加 12345)再与 0x7fffffff 做位与,得到新的三十二位正整数;再用 r = 下限 + 向下取整(s 除以 2147483647 乘(上限减下限加一)),把 r 取整到十位(即向下取整到十位)。如此循环直到取满数量。
为什么要固定种子并取整到十位?固定种子是为了可复现,整到十位是为了工资看起来像真实发薪金额,而不是带零头的小数。下面变量表说明各环节含义,方便你对照手算。
| 变量 | 含义 | 说明 |
|---|---|---|
| seed | 随机种子 | 非负整数,决定序列 |
| n | 生成数量 | 1 到 50 的整数 |
| lo | 工资下限 | 整数元 |
| hi | 工资上限 | 整数元,不小于下限 |
| s | 状态量 | 每次迭代更新 |
| r | 原始工资 | 区间内的浮点值 |
完整示例
下面这组示例全部由页面算法原样得出,可直接对照你的手算。种子 7654321、数量 5、下限 5000、上限 20000:第一轮 s 更新后映射得 12930,第二轮得 14170,第三轮得 11160,第四轮得 9140,第五轮得 7820,组成五个工资。与上方结果区、下方卡片和对照表完全自洽,相同种子必然复现,可逐个数复核。
如果你想验证手算,只要按「s 更新、映射区间、取整到十位」三步循环 n 次,必然和本工具一致。这个线性同余法也是你在不支持本页的环境里手动或写脚本复现结果的可靠办法。
种子=7654321
数量=5 下限=5000 上限=20000
s 更新取数
区间映射整到十位
12930 14170
11160 9140 7820
示例输入:种子=7654321,数量=5,下限=5000,上限=20000 第1个:12930 元 第2个:14170 元 第3个:11160 元 第4个:9140 元 第5个:7820 元
工资参数对照表
下表列出几组常见参数对应的生成结果(共 14 行),前 12 行直接展示,点「加载更多」展开剩余项。你可以一键导出 CSV(带 BOM,Excel 直接认中文)或复制 TSV 粘进表格软件。表里所有结果都由本页同一算法得出,可复现、可复核。
| 种子 | 数量 | 下限 | 上限 | 生成结果(元) |
|---|---|---|---|---|
| 7654321 | 5 | 5000 | 20000 | 12930 14170 11160 9140 7820 |
| 111 | 3 | 3000 | 8000 | 3190 5200 6650 |
| 222 | 4 | 10000 | 30000 | 11550 14510 13130 20000 |
| 333 | 5 | 0 | 100 | 10 0 50 90 10 |
| 444 | 6 | 2000 | 5000 | 2460 4380 2020 2970 3340 3220 |
| 555 | 2 | 5000 | 5000 | 5000 5000 |
| 666 | 5 | 8000 | 15000 | 9630 10560 14020 9050 8830 |
| 777 | 4 | 100 | 999 | 340 230 350 600 |
| 888 | 5 | 6000 | 12000 | 7860 11620 10270 11850 10740 |
| 999 | 3 | 20000 | 50000 | 30510 41650 24140 |
| 1010 | 5 | 4500 | 9000 | 4510 6510 5310 8290 6180 |
| 1212 | 4 | 0 | 50 | 40 30 40 20 |
| 1313 | 5 | 7000 | 14000 | 11920 8300 9400 9060 8080 |
| 1414 | 6 | 3000 | 9000 | 6620 7590 7380 3660 3490 8490 |
结果边界与错误提示
- 生成数量为空时,提示「生成数量「」不合法:请输入 1 到 50 的整数」,页面不会自作主张用零或越界数抽取。
- 生成数量小于 1 或大于 50 时,提示「生成数量不合法:超出 1 到 50 范围」,避免一次造太多或造零个。
- 生成数量不是整数时,提示「生成数量不合法:请输入整数」,因为工资个数必须为整。
- 工资下限或上限为空、不是整数时,会点名当前字段提示你补全,不会硬凑出一个越界区间。
- 工资上限小于下限时,提示「工资上限不合法:上限必须不小于下限」,避免映射出倒挂的负数工资。
- 随机种子为空或非非负整数时,提示「随机种子不合法:请输入非负整数」,种子决定序列,缺了无法复现。
- 结果区与错误区都带 role="alert" 语义,内容一变就会被屏幕阅读器播报;所有生成本地完成,不联网也不写存储,刷新即还原默认示例。
- CSV 导出在文件头写入 UTF-8 BOM(\ufeff),Excel 打开中文不会乱码;TSV 复制是纯制表符分隔文本,粘进任意表格软件都会自动分列。
常见问题
为什么同样的种子结果总一样?
本工具用固定种子的线性同余算法,种子相同则内部状态序列相同,造出的工资组必然一致。这样你才能在别处手算复核,也方便分享与回归测试。
种子可以随便填吗?
可以。种子是任意非负整数,不同种子对应不同工资组;同一种子永远得到同一组。建议记下你喜欢的种子,下次复现同一结果。
工资为什么都是整十的?
本工具把每个映射出的浮点值向下取整到十位,让结果更像真实发薪金额。若你需要更细的粒度,可修改取整规则,但本页固定整到十位以保证可复核。
最大能造几个工资?
单次最多 50 个。数量受 1 到 50 约束,超出会提示超出范围。若需更多,可分段用不同种子连续抽取再拼接。
上限小于下限会怎样?
会提示「上限必须不小于下限」。区间必须合法,否则映射公式会产出倒挂或负数工资,失去演练意义。
我的种子会上传吗?
不会。所有计算只在浏览器本地进行,不联网、不写存储,刷新即还原默认示例,没有任何数据离开你的设备,可以放心填任意种子。
和标准随机有什么不同?
标准随机每次都变且不可复现;本工具用线性同余加固定种子,序列可复现、可审计,更适合需要稳定结果的场景。
导出的 CSV 为什么带 BOM?
因为 Excel 打开无 BOM 的 UTF-8 文件时常把中文显示成乱码,BOM 能让 Excel 正确识别编码。TSV 复制走剪贴板不经文件,所以不需要 BOM。