方法1: Math.random()を使用する方法
// 1から1,000,000,000,000,000までのランダムな整数を生成する関数
function generateRandomNumber() {
var min = 1;
var max = 1000000000000000;
var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNumber;
}
// ランダムな数字の生成と表示
var randomNum = generateRandomNumber();
console.log(randomNum);
この方法では、Math.random()
関数を使用して0以上1未満のランダムな小数を生成し、その結果を指定した範囲にスケーリングします。Math.floor()
関数を使用して小数点以下を切り捨て、最終的に1から1,000,000,000,000,000までの整数を得ます。
方法2: crypto.getRandomValues()を使用する方法
// 1から1,000,000,000,000,000までのランダムな整数を生成する関数
function generateRandomNumber() {
var min = 1;
var max = 1000000000000000;
// 32ビット符号なし整数の配列を生成
var array = new Uint32Array(2);
window.crypto.getRandomValues(array);
// 64ビット整数に変換
var randomNumber = (array[0] * Math.pow(2, 32)) + array[1];
// 指定した範囲にスケーリング
randomNumber = min + (randomNumber % (max - min + 1));
return randomNumber;
}
// ランダムな数字の生成と表示
var randomNum = generateRandomNumber();
console.log(randomNum);
この方法では、crypto.getRandomValues()
関数を使用して暗号的に安全なランダムな値を生成します。生成された値は32ビット符号なし整数の配列として得られます。次に、これらの値を組み合わせて64ビット整数に変換し、指定した範囲にスケーリングします。
いずれの方法も、指定した範囲内でランダムな数字を生成することができます。これらのコード例を使用して、JavaScriptで1から1,000,000,000,000,000までのランダムな数字を生成する方法を実装してみてください。