随机数生成器
在任意范围内即时生成随机整数或小数
随机数生成器
在指定范围内生成随机数
设置最小值和最大值
floor(random() x (max - min + 1)) + min什么是随机数生成器?
随机数生成器(RNG)是一种工具,可以在你设定的范围内随机生成数字。你只需设置最小值和最大值,工具便会在两者之间生成一个随机数。它适用于游戏、抽奖、随机选择、模拟仿真以及软件测试。
随机数生成器常用于消除选择偏差。例如,你可以随机抽取一个数字来决定出场顺序、生成随机测验题目、选出抽奖获奖者,或为编程和表格创建随机测试数据。
生成器选项
本工具允许你设置 最小值 和 最大值 ,并在该范围内生成一个随机整数。更高级的 RNG 工具还可能支持:
- 数量——一次生成多少个随机数
- 小数——生成小数,而不仅限于整数
- 不重复——确保生成的集合中没有重复数字
大多数在线 RNG 使用伪随机算法,即通过数学过程生成看似随机的数字。对于日常用途——抽奖、课堂活动、游戏和测试——这已完全够用。
如何使用随机数生成器
- 输入最小值——可以生成的最小数字
- 输入最大值——可以生成的最大数字
- 点击'计算'——生成你的随机数
- 查看结果——显示指定范围内的一个随机整数
- 再次生成——再次点击'计算',每次都会得到新的随机数
小提示:
- 确保最小值小于最大值——工具需要一个有效范围才能生成数字
- 如果启用不重复模式,数量不能超过范围大小(例如,无法从1到10中生成20个不重复整数)
- 每次生成的结果都会不同——这是随机工具的正常表现
公式
随机整数(闭区间)
在最小值和最大值之间(含端点)生成随机整数的基本方法:
随机整数 = ⌊随机(0,1) × (最大值 − 最小值 + 1)⌋ + 最小值
随机(0,1) ——从0到(不含)1的随机小数
⌊ ⌋ ——向下取整函数
随机小数(连续范围)
在范围内生成小数值:
随机小数 = 随机(0,1) × (最大值 − 最小值) + 最小值
小数结果无需取整函数
关于随机性的说明
大多数在线工具使用算法生成伪随机数。对于典型用途(游戏、课堂、随机选择、测试数据),这完全没问题。如果你需要密码学安全(密码、加密密钥),请使用专门的安全随机数生成器。
计算示例
示例 1:从1到10生成一个随机整数
最小值:1,最大值:10
输出:任意整数:1、2、3……10
示例结果:7(你的结果每次不同)
示例 2:从100到200生成五个随机整数
最小值:100,最大值:200,数量:5
可能的输出:112、198、145、160、101(结果每次不同)
示例 3:从1到5生成三个不重复整数
最小值:1,最大值:5,数量:3,不重复:开启
可能的输出:2、5、1(无重复)
示例 4:从0到1生成随机小数
最小值:0,最大值:1,小数:开启
可能的输出:0.3729(结果每次不同)
常见问题
生成的数字是真正随机的吗?
大多数在线随机数生成器使用伪随机算法,生成的结果对日常用途来说看起来是随机的。用于游戏、抽奖和测试通常已足够。
为什么有时会出现重复数字?
如果未开启'不重复'模式,重复是允许的。即使在随机性存在的情况下,重复仍可能自然发生——尤其是当范围较小时。
'不重复'是什么意思?
意味着生成器不会在输出集合中重复同一个数字。适用于选出不重复的获奖者或创建无重复的选择集。
如果最小值大于最大值会怎样?
输入无效。工具会要求你纠正数值。请始终确保最小值 ≤ 最大值。
可以用这个生成密码或安全密钥吗?
对于安全敏感的用途,应使用密码学安全的生成器(通常标注为'secure random'或'crypto-safe')。通用 RNG 最适合非安全用途,如游戏、模拟和随机选择。
想将此计算器添加到您的网站?获取与您网站设计相匹配的自定义嵌入代码,让访客停留更久。
什么是随机数生成器?
随机数生成器(RNG)可产生无任何可预测规律的数字。随机数广泛应用于游戏(骰子、洗牌)、统计抽样、模拟(蒙特卡洛方法)、密码学以及决策(随机抽取获奖者)等场景。本工具使用浏览器内置的加密随机函数生成伪随机数,结果不可预测且无偏差,适合日常各种用途。
您可以在任意范围内生成单个随机整数——例如,1–6模拟掷骰子,或1–100用于抽奖。需要更多?可一次性生成多个数字,选择是否允许重复,或切换到小数模式,获取0到1之间的随机值,用于概率实验和模拟。
如何使用随机数生成器
- 设置范围的最小值和最大值(例如1和100)。
- 选择每次点击生成多少个数字。
- 选择结果中是否允许重复值。
- 点击生成,立即复制您的结果。
公式与方法
Random integer in [min, max]:
floor(Math.random() × (max − min + 1)) + min
Random decimal in [0, 1):
Math.random()
Random decimal in [min, max):
Math.random() × (max − min) + min
Cryptographically secure (browser):
crypto.getRandomValues(array)Math.random() 是伪随机的——完全适合游戏和模拟,但不适合密码或令牌生成等安全敏感场景。对于这些用途,请使用 crypto.getRandomValues(),它从操作系统的熵池中获取随机数据。
常见使用场景
模拟六面骰子
将范围设为1–6并生成1个数字。每次点击相当于一次公平的掷骰结果。增加数量可一次性模拟多次投掷。
抽取5个彩票号码
将范围设为1–49,生成5个数字,禁用重复。您将获得5个不重复的唯一数字,就像真实的彩票抽签一样。
概率模拟用小数
在小数模式下将范围设为0–1。结果是0到1之间均匀分布的值,适用于蒙特卡洛模拟、概率实验和统计随机抽样。