Как в JavaScript сгенерировать случайное число от 0 до 4

функция Math.random возвращает числа из диапазона от 0 до 1 (не включая 1) — такие, как 0.128 0.830, 09 или 0.42. Значит, на основании этих чисел нужно будет как-то сгенерировать целые случайные числа от 0 до 4.

 

var randomLoc = Math.random() * 5;

 

Остается отсечь дробную часть, чтобы получить целое число. Для этого можно воспользоваться другой встроенной математической функцией Math.floor:
var randomLoc = Math.floor(Math.random() * 5);


Так, например, 0.13983 превращается в о,

2.34 превращается в 2, а 4.9 99 превращается в 4.

 


Если мы хотим сгенерировать число от 0 до 4, то почему в программе встречается число 5:

Math.floor(Math.random() * 5)?

Прежде всего, функция Math.random генерирует число от 0 до 1, не включая 1. Максимальное число, которое можно получить от Math.random, равно 0.999... Максимальное число, которое можно получить при умножении его на 5, равно 4.999... Функция Math.floor округляет числа в меньшую сторону, поэтому 1.2 округляется до 1, но точно так же округляется и 1.9999. Если мы генерируем числа от 0 до 4.999. то все результаты будут округляться до чисел от 0 до 4. Это не единственный способ, и в других языках данная задача нередко решается иначе, но в коде javascript чаще всего встречается именно такое решение.


Если мне понадобится случайное число от 0 до 100 (включая 100), я должен написать
Math.floor(Math.random() * 101)?

Точно! Умножение на 101 и отсечение дробной части вызовом Math.floor гарантирует, что результат не превысит 100.



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы