乱数生成ツール|範囲・個数指定・重複なし対応

計算ツール

1~1,000個を指定できます。

範囲と個数を指定して、乱数を生成してください。

このツールでできること

指定した最小値から最大値までの両端を含む範囲で、整数の乱数を1~1,000個生成できます。負数と0を含む範囲にも対応し、必要に応じて同じ実行結果内で重複しないように生成できます。

使い方

  1. 最小値と最大値を入力します。
  2. 生成する個数を入力します。
  3. 同じ数を出したくない場合は「重複を許可しない」を選択します。
  4. 「乱数を生成」を押します。
  5. 必要に応じて「結果をコピー」を押し、生成結果だけをまとめてコピーします。

入力例・出力例

最小値1、最大値6、生成個数3を指定すると、1〜6の整数を3件、1行ずつ生成します。表示される値と順序はランダムに決まります。

「重複を許可しない」を選ぶと、同じ実行結果内で同じ整数は出ません。1〜6の範囲で7件以上を指定することはできません。

最小値と最大値をともに-9,007,199,254,740,991、生成個数を1にすると、結果は-9007199254740991になります。範囲の入力には正しい3桁区切りカンマを使えますが、結果にはカンマを付けません。

よくある利用場面

  • サイコロ相当の数値やテスト用の整数をまとめて作るとき
  • 範囲内から重複なしで番号を抽出するとき
  • 表計算や開発用データへ貼る乱数リストを作るとき

乱数の生成方法と利用上の注意

Web Crypto APIのcrypto.getRandomValues()で得た乱数を使い、範囲内の各整数を同じ確率で選びます。

「重複を許可しない」場合は、すでに選ばれた整数を引くたびに引き直します。Web Crypto APIを利用できない場合や乱数の取得に失敗した場合はエラーとし、Math.random()へ切り替えません。

シード値を指定して同じ並びを再現する機能はありません。生成結果、抽選過程、シード値を保存せず、第三者が後から同じ抽選を再現・検証する証跡も作らないため、監査可能な抽選が必要な用途には向きません。パスワード、暗号鍵の生成には対応していません。

処理仕様

最小値と最大値は、JavaScriptの安全な整数である-9007199254740991から9007199254740991まで指定できます。入力は整数文字列のまま正確に検証・計算し、最小値と最大値も生成範囲へ含めます。最小値と最大値が同じ場合、重複を許可すれば同じ値を指定個数だけ生成できます。重複なしでは、生成個数を範囲内の整数数以下にする必要があります。

最小値と最大値には半角数字、先頭の-、正しい3桁区切りカンマを使用できます。先頭の+、全角数字、小数、指数表記、単位、不正なカンマ、数値途中の空白は使用できません。入力前後の空白は除去しますが、CR・LFは先頭や末尾にある場合も受け付けません。

生成個数は半角数字だけで1~1,000を指定し、0003のような先頭の0は使用できます。生成個数ではカンマを使用できないため、上限は1000と入力します。結果は生成順を保ち、3桁区切りなしの整数を1行1個で表示・コピーします。範囲、個数、重複設定を変更すると以前の結果は消去され、「クリア」では初期値の1~100、1個、重複許可へ戻ります。

入力データについて

入力した範囲と生成結果はブラウザ内だけで処理され、ToolRollのサーバーや外部サービスへ送信されません。外部ライブラリ、Cookie、localStorage、sessionStorage、IndexedDB、ブラウザの履歴を使用せず、入力値や生成結果も保存しません。「結果をコピー」を押したときだけ、表示中の結果をブラウザのクリップボードへ書き込みます。