随机数生成器

生成指定范围内的随机整数或小数,可批量生成且不重复。随机源使用浏览器加密安全随机数,全部在本地即时完成。

默认生成互不相同的数值;小数模式下按所选精度判断是否相同。数量最多 10000,超过时请分批生成。

使用说明

  1. 输入最小值和最大值(支持负数与小数),再填写需要生成的数量(最多 10000 个)。
  2. 默认开启「不允许重复」,即每个结果互不相同;若允许相同结果出现,可勾选「允许重复」。
  3. 选择「整数」或「小数」;选择小数时还可以指定保留 1–6 位小数。
  4. 点击「生成」得到结果列表,可点「复制全部」一次性复制,或用「清空」重新开始。

常见问题

随机数是真正的随机吗?
本工具使用浏览器内置的 crypto.getRandomValues() 加密安全随机源产生数值,随机性质量远高于普通的 Math.random(),且整个生成过程在本地完成,不依赖任何服务器。
为什么提示可生成的不重复数量不足?
不允许重复时,每个结果都必须不同,因此数量不能超过区间内能取到的不同数值个数(整数按区间内的整数个数,小数按所选精度可区分的数值个数)。遇到该提示时,请扩大范围、降低小数精度,或勾选「允许重复」。
一次最多能生成多少个?
单次上限为 10000 个,以保持页面流畅。需要更多结果时,可以调整参数后分批生成,或改用允许重复的方式。

使用步骤

  1. 输入最小值与最大值

    在 Minimum 与 Maximum 输入上下限,支持负数与小数,例如负五到五或零到一。注意边界值本身也可能被抽中。

  2. 选择生成数量与数字类型

    Count 填一到一万之间的数量。Number type 选 Integer 生成整数,选 Decimal 时会多出一个精度下拉框,可挑一到六位小数。

  3. 决定是否允许重复

    默认每个结果互不相同。勾选 Allow duplicates 后同一数值可多次出现,适合模拟有放回的重复抽样。

  4. 生成结果列表并批量复制

    点击 Generate 输出结果列表,点 Copy all 一次复制全部数值,可直接粘贴进表格或代码。点 Clear 清空重来。

  5. 处理数量不足提示

    若提示唯一值不足,说明区间内不重复的组合少于请求数量。放宽范围、降低小数精度或改为允许重复即可解决。

工具详细介绍

随机数生成器在指定范围内抽取整数或小数,单批最多一万个,默认结果互不重复,也可勾选允许重复。数值来自浏览器的加密安全随机源 crypto.getRandomValues()。它比普通 Math.random() 更难预测。抽奖、抽样与造测试数据都够用,所有计算在本地设备上即时完成。

适合课堂随机点名、活动抽奖、抽样调查、桌面游戏与给测试造数据。设好范围和数量一键出结果,省去写脚本的麻烦。小数模式可指定一到六位小数精度,模拟测量数据或概率样本时特别方便。

原理与背景

把随机整数映射到任意区间有个经典陷阱:32 位随机整数对区间大小取模时会有偏差。若 2 的 32 次方不能被区间整除,排在前面的值概率就会略高。标准解法是拒绝采样,把落在多余区间的样本丢掉重抽,让每个值的概率严格相等,本工具采用的就是这种做法。抽奖、点名这类要当众交代结果的场合,等概率是能复核的硬要求,普通伪随机数与有偏映射都经不起这一问。自娱自乐时偏差小到无感,涉及奖项分配就必须较真。

「不允许重复」对应统计里的不放回抽样:每抽一个,候选池就少一个。请求量越接近区间容量,剩余候选越稀疏,唯一值不足的提示就来自这里。勾选允许重复则切换为放回抽样,模拟掷骰子或可重复试验才合理。小数模式在指定精度下做同样的去重:两位小数时 0.10 与 0.1 是同一个值,精度每提高一位,可用空间大约扩大十倍。遇到不足提示时先算容量,再决定调精度还是允许重复。

典型使用场景

  1. 课堂点名与随机分组

    把学号或座位号设为区间,一次抽出不重复的一组,用于课堂问答或分组。每人被抽中的概率严格相等,省去手工抽签排序,也堵住「老师偏心」的议论。

  2. 活动抽奖当众开奖

    从参与者编号区间抽出中奖名单,关闭允许重复保证一人只中一次。全程本地计算,编号与结果的对应关系可以当场复核,经得起参与者质疑,开奖过程也更快。

  3. 造测试数据与抽样

    给单元测试造边界用例时,用零到一的两位小数模拟概率,用负数区间模拟异常输入。调查的受访者编号也能批量生成,无需再写一次性脚本,口径还能当场调整。

使用技巧

  • 不重复模式下请求数不能超过区间内可用值的个数,否则会提示数量不足。
  • 小数去重按所选精度判断:两位小数时 0.10 与 0.1 视为同一结果。
  • 单批上限 10000 个。需要更多时调整范围,或再点一次 Generate 分批获取。

注意事项

  • 边界值也会被抽中

    抽出的号码包含最小值与最大值本身。抽奖时若这些编号是预留或作废的,先把区间收窄到有效编号范围,工具不会自动剔除,范围要自己设准。

  • 精度决定可用容量

    两位小数在零到一区间只有一百零一个不同值,请求两百个不重复样本必然失败。遇到不足提示先算区间容量,再决定放宽精度还是允许重复,两分钟就能定位原因。

  • 加密随机不可复现

    随机源没有公开种子,同一批结果事后无法重放。需要可复现的实验数据时改用带固定种子的工具,并当场把这里的结果复制保存留档,别等清空才想起。

相关工具