免费在线随机数生成器
随机数生成器在您设置的范围内以相等的概率选择数字。 将其用于游戏、彩票、统计抽样或任何您需要无偏随机的时间。
生成的数字
如何使用
- 设置范围的最小值和最大值。
- 选择要生成多少个数字 (1–100)。
- 选择 整数 或 十进位 类型。
- 选中或取消选中 允许重复 根据需要。
- 单击 产生 查看您的随机数。
这个怎么运作
每个数字都是从[min, max] 的范围中独立和均匀地绘制的。
对于没有重复项的整数,计算器使用 Fisher-Yates 部分 shuffle:
Place all integers min..max in a pool.
For each position i from 0 to count-1:
pick random j from i..poolLength-1
swap pool[i] and pool[j]
use pool[i] as the next result
对于小数,每个值绘制为:
value = min + Math.random() × (max − min)
四舍五入到 2 位小数。
常见用途
- 抽奖或抽奖 — 从 1-49 中选择 6 个唯一整数(禁用重复项)。
- 随机取样 — 通过生成 1-500 的 20 个唯一整数,从 500 列表中选择 20 行。
- 游戏随机化 — 主动顺序、战利品掉落、事件触发器。
- A/B 测试分配 — 通过生成 1-2(或 1-n)的 1 个整数来确定用户看到的变体。
- 选择一号决定 — “正面或反面”是 1-2; “哪家餐厅”是 1-n,其中 n 是您的候选名单。
工作示例
彩票选择 — 1–49 中的 6 个唯一数字
- 最小值:1,最大值:49,计数:6,类型:整数,允许重复: 空闲的
- 示例输出:7、12、23、31、38、44
从 250 个条目中随机挑选一个获胜者
- 最小值:1,最大:250,计数:1
- 输出:187 → 条目 #187 获胜
蒙特卡罗测试 — 0 到 1 之间的 10 个小数
- 最小:0,最大:1,计数:10,类型:十进制
- 输出:0.34、0.71、0.12、0.58、0.94、0.03、0.46、0.82、0.27、0.69
笔记
- 不是加密安全的 — 使用浏览器的
Math.random(), 适合彩票、游戏和抽样,但是 不 对于密码、令牌或任何可以利用可预测性的东西。 使用crypto.getRandomValues()或用于安全的硬件 RNG。 - 对于非常大的范围(例如 1 到 1,000,000),即使允许重复的整数也不太可能。
- 计数上限为 100 以保持结果可读。
- 十进制模式总是允许重复,因为从宽范围重复特定的 2 位小数的值是罕见的。
- 公平与统一 — 生成器是均匀的:范围内的每个值的概率相等。 “随机”并不意味着每个序列都“感觉”是随机的——7 7 7 的运行可能与 3 8 1 一样广泛。
经常问
数字真的是随机的吗?
生成器使用浏览器的 Math.random(),它是一个伪随机数生成器 (PRNG)。 它产生的数字在统计上统一且无法预测,足以供日常使用——游戏、抽样、随机化——但不是为了加密安全。 出于加密目的,使用基于硬件的生成器。
“允许重复”是什么意思?
当允许重复时,相同的数字可以出现不止一次。 禁用时,每个生成的整数最多出现一次。 小数不能禁用重复项,因为相同的小数重复的概率实际上为零。
为什么禁用重复项有时会出现错误?
如果您要求比范围中存在的唯一整数,则不可能遵守。 例如,在 1 到 5 之间生成 10 个唯一整数是不可能的——只有 5 个可用值。
整数和小数输出有什么区别?
整数是整数(无小数点)。 十进制结果正好是两个小数位,可以表示该范围内的任何值,包括分数值。
如何共享固定的随机种子?
此计算器不支持固定种子 - 每次单击都会生成新结果。 使用“与我的数字共享”共享您的范围和计数设置,而不是生成的特定数字。
嵌入这个计算器
将此免费计算器添加到您自己的网站。 复制片段 - 它适用于您可以粘贴 HTML 并与此页面保持同步的任何地方。