СообЧа > База Знаний > Интернет > Веб-строительство > Java-script

Вопрос

Как сделать выпадающий случайный номер, типа: 878787-7877-8788878?

Ответ

Самый простой способ — это метод объекта Math.random().
Он выдает случайное число больше 0 и меньше 1, Вы его умножаете на 10, округляете методом Math.round(n), math.ceil(n) или Math.floor(n); выдается число от 0 до 10. Если необходимы определенные числа, например, только 7 или 8, — надо поставить генерацию в функцию, где выполняется while до тех пор, пока не «родится» нужное число.

Есть и более изощренный способ: использование тригонометрических функций от текущего времени, но тут надо ставить задержку выполнения, желательно тоже случайную и достаточно большую — примерно от секунды до, скажем, 5. В таком случае числа выглядят «более» случайными.

*******

Для получения чисел из заданного диапазона, отличного от 0-10, организовывать цикл несколько громоздко. Гораздо проще использовать формулу:
А = round(random()*(Max-Min))+Min
Например, для получения чисел из диапазона 23 — 29:
А = round(random()*6)+23
Функция "random()" может быть стандартной или тригонометрической и выдавать случайные числа из диапазона 0 — 1.

krenon



Copyright © 2000-2004 Сообщество Чайников
Контактная информация