U.UtilityApp
⚙️ 开发免费 · 无需注册

随机数生成器

在任意最小值–最大值范围内生成随机数,支持设置唯一性和生成数量。

随机数生成器:最小值、最大值和数量

随机数生成器生成的是整数,范围两端都可能抽到。默认是最小值 1、最大值 100、数量 1,也就是在 1 到 100 之间随机抽一个数,1 和 100 抽中的机会和 50 一样。

  • 范围填反:最小值比最大值大时会自动对调。最小值 10、最大值 1,结果在 1 到 10 之间。
  • 负数:可以用。−5 到 5 一共有 11 个可能的值,包括 0。
  • 一次多个:设置“数量”后,结果以逗号分隔显示在一行里,按抽出的顺序排列,不排序。

页面打开时会按默认设置先抽一次。之后改了范围或数量,要点击“生成”才会出新结果。每次点击都会替换上一次的结果,不保留历史,需要留底的话先复制再抽。

不重复抽取,以及它什么时候会悄悄失效

勾选仅限不重复的值后,工具就像从箱子里抽号码签:同一批里抽过的数不会再出现。比如从 1 到 200 号里抽 3 个中奖号码,就设最小值 1、最大值 200、数量 3 并勾选这一项。结果不排序,需要按顺序公布时请自己排一下。

不重复模式要求范围里有足够多的数。在 1 到 5 之间要 8 个不重复的数,总共只有 5 个可给。这时工具不会提示,而是直接忽略不重复设置,返回 8 个带重复的数,比如 4, 1, 2, 1, 3, 3, 2, 4。依赖不重复结果之前,先确认“数量”不超过 最大值 − 最小值 + 1。

只用整数,范围不要超过约 42.9 亿

范围框能输入小数,但生成器不是为小数设计的。最小值 1.5、最大值 3.2 时,可能出现 3.6999999 这种超出范围的结果。需要一位小数时,把范围放大 10 倍:在 15 到 32 之间抽,再把结果除以 10。

每次抽取都基于一个 32 位随机值,所以范围最多只能覆盖 4,294,967,296 个数,约 42.9 亿。最小值 0、最大值 100 亿时,结果不会超过 4,294,967,295。范围更大时,可以分两次抽较小的数再组合起来。

随机性从哪里来,抽奖时怎么让人信服

数字来自浏览器的密码学随机源 crypto.getRandomValues,而不是 Math.random。每个 32 位随机值用取余的方式缩到你的范围里,会对较小的值产生极轻微的偏向,范围为 100 时大约是一亿分之二,在抽奖、课堂点名或生成测试数据时完全察觉不到。

一切都在页面里运行,数字不会发送到服务器,也不会保存。这也意味着事后没有人能证明你抽到了什么。公开抽奖时,建议录屏,或者当着参与者的面现场抽取。

常见问题

怎么从名单里随机抽一个人?+

给名单上的人从 1 开始编号,最小值填 1,最大值填总人数,生成一个数即可。要抽多个人时勾选“仅限不重复的值”,避免同一个人中两次。

能当骰子用吗?+

可以。最小值 1、最大值 6,数量填骰子个数。不要勾选“仅限不重复的值”,因为两颗骰子可以掷出相同的点数。

一次最多能生成多少个随机数?+

“数量”一栏按每次最多 1,000 个设计。需要更多时,分几批生成再拼在一起。

能用于正式的抽奖或摇号吗?+

随机性本身足够强,但工具不留任何记录,无法审计。如果活动有正式规则或监管要求,请使用规则指定的方式。