JavaScript метод Math.floor()
Определение и применение
JavaScript метод floor() объекта
Math
вычисляет и возвращает наибольшее целое число, которое меньше или равно переданному числу (округляет число вниз).
Проверьте поведение в редактируемом примере.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
floor | 1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
Math.floor( num );
Спецификация
Значения параметров
| Параметр | Описание |
|---|---|
num |
Числовое значение. |
Возвращаемое значение и особенности
Возвращает число, округлённое к -Infinity: Math.floor(-1.2) равно -2, в отличие от Math.trunc(-1.2),
равного -1. Сохраняет NaN, бесконечности и знак нуля. Аргумент преобразуется в Number;
BigInt и Symbol вызывают TypeError.
Примеры, попробуйте сами
Как floor() округляет числа вниз
Измените положительные и отрицательные числа или границы диапазона; сравните результаты и повторите запуск.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
console.log(Math.floor(0.99)) // возвращаемое значение 0
console.log(Math.floor(7)) // возвращаемое значение 7
console.log(Math.floor(7.999999)) // возвращаемое значение 7
console.log(Math.floor(-0.01)) // возвращаемое значение -1
console.log(Math.floor(-7)) // возвращаемое значение -7
console.log(Math.floor(-7.999999)) // возвращаемое значение -8
В следующем примере мы рассмотрим как с помощью метода
random(),
ceil()
и floor() объекта
Math
получить случайное целое число внутри определенного диапазона. Обратите внимание, что возвращаемое значение
лежит между округлёнными границами включительно: от Math.ceil(min) до Math.floor(max):
Как получить случайное целое между двумя границами
Измените положительные и отрицательные числа или границы диапазона; сравните результаты и повторите запуск.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
// Обе округлённые границы включены. Пример рассчитан на небольшие конечные диапазоны.
function getRandomIntFromRange(min, max) {
const lower = Math.ceil(min)
const upper = Math.floor(max)
if (
!Number.isSafeInteger(lower) ||
!Number.isSafeInteger(upper) ||
lower > upper ||
!Number.isSafeInteger(upper - lower + 1)
) {
throw new RangeError('Нужен непустой диапазон безопасных целых')
}
return Math.floor(Math.random() * (upper - lower + 1)) + lower
}
for (let i = 0; i < 5; i++) {
console.log(getRandomIntFromRange(5, 10)) // Целое от 5 до 10; результат меняется при запуске.
}
console.log('Одна точка:', getRandomIntFromRange(7, 7))
try {
getRandomIntFromRange(5.1, 5.9)
} catch (error) {
console.log('Пустой диапазон:', error.name)
}