web-dev-qa-db-ja.com

あらゆる場合に5桁の数字を生成するJavaScript式

seleniumテストでは、すべての場合に5桁の数値を取得するための値プロバイダーが必要です。 javascriptの問題は、Math.randomのapiが0.開始フロートの生成のみをサポートすることです。したがって、1000099999の間になければなりません。

したがって、0.10000以上を生成するだけであれば簡単ですが、0.01000も生成します。したがって、このアプローチは成功しません。

Math.floor(Math.random()*100000+1)

(式で)あらゆる場合に5桁の数字を生成することは可能ですか?

58

どうですか:

Math.floor(Math.random()*90000) + 10000;
134
Rubens Farias

はい、任意の範囲で乱数を作成できます:

var min = 10000;
var max = 99999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;

または簡略化:

var num = Math.floor(Math.random() * 90000) + 10000;
47
Guffa

たとえば、郵便番号を生成する場合、使用できる5桁であれば先頭のゼロを気にしません:

(""+Math.random()).substring(2,7)
18
miaubiz

次の関数を使用して、任意の最小および最大数を含むランダムな整数を取得できます。

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

その他の例やその他の使用例については、 Math.random MDN documentation をご覧ください。

1
Tarek