Зачем кому-то вызывать Math.floor для результата Math.random?
В двух словах, каждый вызывает Math.floor()
, если вы хотите усечь десятичное значение до ближайшего целого числа.(просто отбрасывая десятичную часть. Таким образом, 3.9 становится 3, 2.1 становится 2, и т. д. Итак, вы обычно используете это, когда вам нужно целое число и вы хотите, чтобы целое число было меньше или равно десятичному значению.Математическая библиотека также имеет Math.ceil()
и Math.round()
. Math.ceil()
возвращает вам следующее большее целое число, Math.round()
округляет до ближайшего целого числа, увеличиваясь или уменьшаясь в зависимости от того, что ближе.
Я видел, что это используется как: Math.floor(Math.random() * num);
Разбивая Math.floor(Math.Random() * num)
на отдельные части и объясняя каждую часть, вы получаете это:
Math.random()
дает вамслучайное десятичное число от 0 до 1, включая 0, но не включая 1. Таким образом, оно может дать вам что-то вроде 0.38548569372
.
Math.random() * num
дает случайное десятичное число от 0 до num, включая0, но не включая число., если num было 10, это может дать вам 3.8548569372
.
Math.floor(Math.random() * num))
дает вам случайное целое число от 0 до num, включая 0, но не включая num.Таким образом, это может дать вам 3
.
Math.floor()
усекает десятичное число только до целой части.Случайное целое число часто используется для получения случайного значения из массива (который должен быть целым числом).