Выражение JavaScript для генерации 5-значного числа в каждом случае

для моих тестов селена мне нужен поставщик значений, чтобы в каждом случае получать 5-значное число. Проблема с javascript заключается в том, что API Math.random поддерживает только генерацию 0. начального числа с плавающей запятой. Так что это должно быть между 10000 и 99999.

Так что было бы легко, если бы он генерировал только 0.10000 и выше, но также генерировал бы 0.01000. Итак, этот подход не удался:

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

Можно ли сгенерировать 5-значное число в каждом случае (в выражении!)?


person Christopher Klewes    schedule 01.02.2010    source источник


Ответы (4)


Что о:

Math.floor(Math.random()*90000) + 10000;
person Rubens Farias    schedule 01.02.2010
comment
Добавление 10000 в конце ничего не дает. - person Ben Brown; 18.12.2017
comment
Проверь еще раз, @BenBrown. Без 10000 у вас могут быть числа с менее чем 5 цифрами. - person Rubens Farias; 18.12.2017
comment
@AkinHwan Это совершенно не по теме .. - person Paul McBurney; 12.12.2020

Да, вы можете создавать случайные числа в любом заданном диапазоне:

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

Или упрощенно:

var num = Math.floor(Math.random() * 90000) + 10000;
person Guffa    schedule 01.02.2010

если вы хотите сгенерировать, скажем, почтовый индекс, и не возражайте против начальных нулей, если это 5 цифр, которые вы можете использовать:

(""+Math.random()).substring(2,7)
person miaubiz    schedule 01.02.2010
comment
Мне любопытно, как производительность этого будет сравниваться с другими методами. Это мне нравится, но кажется, что преобразование строки, а затем подстрока может быть дорогим. - person Danation; 15.10.2013
comment
Ммм, Math.random() не гарантирует, что вернет как минимум N цифр. Я только что попробовал это с firefox, (""+Math.random()).substring(2,7) может возвращать XYZ или XYWZ, что составляет 3/4 цифры. - person Mr Shunz; 09.12.2015
comment
я пользуюсь и плачу - person Alex Shtromberg; 25.09.2019

Вы можете получить случайное целое число, включающее любые заданные минимальные и максимальные числа, используя следующую функцию:

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

Дополнительные примеры и другие варианты использования см. в разделе Math. .random документация по MDN.

person Tarek    schedule 04.08.2016