随机数生成器

在任意范围内即时生成随机整数或小数

随机数生成器

在指定范围内生成随机数

随机数生成器

设置最小值和最大值

公式
floor(random() x (max - min + 1)) + min

什么是随机数生成器?

随机数生成器(RNG)是一种工具,可以在你设定的范围内随机生成数字。你只需设置最小值和最大值,工具便会在两者之间生成一个随机数。它适用于游戏、抽奖、随机选择、模拟仿真以及软件测试。

随机数生成器常用于消除选择偏差。例如,你可以随机抽取一个数字来决定出场顺序、生成随机测验题目、选出抽奖获奖者,或为编程和表格创建随机测试数据。

生成器选项

本工具允许你设置 最小值 最大值 ,并在该范围内生成一个随机整数。更高级的 RNG 工具还可能支持:

  • 数量——一次生成多少个随机数
  • 小数——生成小数,而不仅限于整数
  • 不重复——确保生成的集合中没有重复数字

大多数在线 RNG 使用伪随机算法,即通过数学过程生成看似随机的数字。对于日常用途——抽奖、课堂活动、游戏和测试——这已完全够用。

如何使用随机数生成器

  1. 输入最小值——可以生成的最小数字
  2. 输入最大值——可以生成的最大数字
  3. 点击'计算'——生成你的随机数
  4. 查看结果——显示指定范围内的一个随机整数
  5. 再次生成——再次点击'计算',每次都会得到新的随机数

小提示:

  • 确保最小值小于最大值——工具需要一个有效范围才能生成数字
  • 如果启用不重复模式,数量不能超过范围大小(例如,无法从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 最适合非安全用途,如游戏、模拟和随机选择。

将 Random Number Generator 嵌入您的网站

想将此计算器添加到您的网站?获取与您网站设计相匹配的自定义嵌入代码,让访客停留更久。

响应式设计
自定义样式
快速加载
手机端优化

什么是随机数生成器?

随机数生成器(RNG)可产生无任何可预测规律的数字。随机数广泛应用于游戏(骰子、洗牌)、统计抽样、模拟(蒙特卡洛方法)、密码学以及决策(随机抽取获奖者)等场景。本工具使用浏览器内置的加密随机函数生成伪随机数,结果不可预测且无偏差,适合日常各种用途。

您可以在任意范围内生成单个随机整数——例如,1–6模拟掷骰子,或1–100用于抽奖。需要更多?可一次性生成多个数字,选择是否允许重复,或切换到小数模式,获取0到1之间的随机值,用于概率实验和模拟。

如何使用随机数生成器

  1. 设置范围的最小值和最大值(例如1和100)。
  2. 选择每次点击生成多少个数字。
  3. 选择结果中是否允许重复值。
  4. 点击生成,立即复制您的结果。

公式与方法

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之间均匀分布的值,适用于蒙特卡洛模拟、概率实验和统计随机抽样。

常见问题

真随机数和伪随机数有什么区别?
真随机数来自物理过程——放射性衰变、大气噪声或热波动——具有真正的不可预测性。伪随机数生成器(PRNG)使用以种子值初始化的确定性算法,生成看似随机但完全可重现的序列(若知道种子)。对于大多数日常用途(游戏、模拟、随机抽取),伪随机数与真随机数无法区分。本工具在底层使用 crypto.getRandomValues(),以操作系统级别的熵为种子,比 Math.random() 强得多。
这个工具可以用来生成密码吗?
本生成器并非为生成密码而设计。虽然它使用了浏览器的加密API(crypto.getRandomValues),但它输出的是纯数字——而不是强密码所需的字母、符号和数字的混合。生成密码请使用专用密码管理器或专门为此设计的工具。随机数非常适合游戏、决策和统计,但安全凭据需要不同的方式。
如何在统计学中使用随机数生成器?
在统计学中,随机数用于从总体中抽取随机样本、将参与者随机分配到实验组(随机化),以及运行模拟。进行随机抽样的方法:将总体中的每个项目从1编号到N,然后在1–N范围内生成相应数量的随机整数(不重复)来选取样本。这确保每个项目被选中的概率相等,消除了选择偏差。
随机数生成器中的「种子」是什么意思?
种子是输入伪随机算法的起始值。相同的种子始终产生完全相同的数字序列。种子在科学和测试中很有用:在模拟之前设置种子,可让同事重现您的精确结果。在游戏中,种子用于生成相同的程序化世界(例如Minecraft地图)。本工具不提供种子控制,因为它使用操作系统熵池,每次使用都会变化,确保每次生成全新、不可重复的序列。
如何从列表中随机抽取获奖者?
从1开始对列表中的每个条目编号。统计条目总数——假设有50个。将范围设为1–50,生成1个数字,结果对应的条目即为获奖者。要抽取多个获奖者且不重复,可禁用重复功能并生成多个数字,然后将数字与列表对应即可。这种方法公平、透明且易于验证。