跳到主要內容
Tools

隨機數產生器

在指定範圍內產生隨機整數或小數,可設定數量、不重複、排序與排除的數字。

包含最小值與最大值

包含最小值與最大值

1 到 10,000 個

0 表示整數,最多 10 位

用逗號、空格或換行分隔;範圍寫成 10..20 或 10~20

產生的數字

使用說明

  1. 輸入最小值與最大值,產生的數字會包含這兩個值。
  2. 需要小數時設定小數位數,例如 2 位會產生 3.14 這樣的數字。
  3. 設定數量;勾選「不重複」時,每個數字最多出現一次,適合抽號碼。
  4. 有不想出現的數字時填在「排除的數字」,範圍可寫成 10..20。
  5. 數字會立即產生,按「重新產生」或 Ctrl/⌘ + Enter 再抽一次,結果可以複製或下載。

常見問題

產生的數字真的隨機嗎?

本工具使用瀏覽器 Web Crypto 的 crypto.getRandomValues(),這是適合密碼學用途的安全亂數,不是可被預測的 Math.random()。所有運算都在你的瀏覽器中完成,不會送到任何伺服器。

每個數字出現的機率都一樣嗎?

一樣。直接把亂數除以範圍大小取餘數,會讓較小的數字稍微容易出現(取餘數偏差)。本工具使用拒絕取樣,把會造成偏差的亂數丟掉重抽,所以範圍內每個數字的機率完全相同,排除的數字也不會讓其他數字的機率不均。

可以產生很大的數字嗎?

可以。本工具以 BigInt 精確計算,範圍可以超過 JavaScript 一般數字能精確表示的 9,007,199,254,740,991,最多到 100 位數,不會因為浮點數而失準。

小數是怎麼產生的?

設定 2 位小數時,範圍內的數字以 0.01 為間隔,例如 0 到 1 之間共有 0.00、0.01……1.00 共 101 個值,每個值機率相同。範圍端點不在間隔上時會往內取,例如 0.005 到 0.03 只會產生 0.01、0.02、0.03。

「不重複」是怎麼運作的?

本工具使用 Floyd 演算法從可抽的值中直接抽出不重複的一組,每一種組合的機率都相同,再隨機打亂順序。要求的數量超過範圍內的數字個數時會顯示錯誤,而不是悄悄給出重複的數字。

鍵盤快捷鍵

/
搜尋工具(在工具頁會回到首頁的搜尋欄)
?
顯示這個說明
Esc
關閉對話框
Ctrl / ⌘Enter
執行工具的主要動作(支援的工具)

在輸入框中打字時,/ 與 ? 不會觸發快捷鍵。