JS метод Math.floor()
Загальний опис
Math.floor()
– це метод в JavaScript, який застосовується до числа і округлює його до найбільшого цілого числа, яке менше або рівне даному числу. У мові програмування, таке округлення зазвичай називають "округленням вниз".
Вивчаючи мову програмування, зокрема JavaScript, необхідно розуміти основи роботи з числами і, зокрема, методи їх округлення. За допомогою Math.floor()
програмісти можуть ефективно керувати числами, зокрема, видаляючи дробові частини, коли цього вимагає контекст програми.
Для чого може знадобитися метод Math.floor()
? Розглянемо декілька практичних ситуацій:
- Розподіл ресурсів. Уявіть, що у вас є 7 яблук, і ви хочете розділити їх між 3 друзями. Використовуючи метод
Math.floor()
, ви можете легко визначити, скільки яблук отримає кожен друг:Math.floor(7/3) = 2
. - Конвертація валют. При конвертації валют може виникнути необхідність округлення до найближчого цілого числа в залежності від правил обміну.
Порівнюючи Math.floor()
з іншими методами округлення в JavaScript, варто зазначити, що він завжди округлює число в менший бік, тобто "вниз". Наприклад, Math.floor(4.7)
поверне 4, а Math.floor(-4.7)
поверне -5.
Основні особливості та прийоми:
Робота з додатними числами:
let num = 7.89; let result = Math.floor(num); // поверне 7
Робота з від'ємними числами:
let num = -7.89; let result = Math.floor(num); // поверне -8
Використання у комбінації з іншими методами: Для отримання випадкового цілого числа в діапазоні можна комбінувати
Math.floor()
зMath.random()
:function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }
Відмінність від інших методів:
Math.floor()
відрізняється відMath.ceil()
, який округлює "вгору", таMath.round()
, який округлює до найближчого цілого числа.
Порада: | Функція |
Порада: | Якщо вам потрібно швидко взяти цілу частину від ділення двох чисел, ви можете використовувати |
Порада: | У випадках, коли ви працюєте із зсувами бітів у оптимізованому коді, замість |
Порада: |
|
Синтаксис
Math.floor(x)
Параметри
- *
x
Число, яке потрібно округлити до найближчого меншого або рівного цілого числа.
Return
integer
Повертає найбільше ціле число, що менше або рівне заданому числу. Це таке ж значення, як
-Math.ceil(-x)
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі користувач може ввести дійсне число, натиснути кнопку "Заокруглити" і побачити результат заокруглення методом Math.floor()
.
У цьому прикладі ми використовуємо Math.floor()
для перетворення різниці між двома датами з мілісекунд в ціле число днів. Метод Date
створює дві дати, після чого знаходимо різницю між ними в мілісекундах. Поділ на (1000 * 60 * 60 * 24)
дозволяє отримати різницю в днях, адже в одному дні 24 години, 60 хвилин і 60 секунд, і 1000 мілісекунд в одній секунді.
// Визначаємо дві дати
let startDate = new Date("2023-01-01");
let endDate = new Date("2023-10-16");
// Розраховуємо різницю між датами в мілісекундах
let differenceInMilliseconds = endDate - startDate;
// Перетворюємо різницю між датами з мілісекунд в дні
let differenceInDays = Math.floor(differenceInMilliseconds / (1000 * 60 * 60 * 24));
console.log(`Між датами пройшло ${differenceInDays} днів.`);
У цьому прикладі ми використовуємо Math.floor()
разом з Math.random()
для отримання випадкового цілого числа, яке відповідає кількості елементів, які ми хочемо вибрати з масиву items
. items.slice(0, randomCount)
забезпечує вибір відповідної кількості елементів з початку масиву.
// Масив елементів
let items = ["apple", "banana", "cherry", "date", "fig", "grape"];
// Отримання випадкового числа від 1 до довжини масиву
let randomCount = Math.floor(Math.random() * items.length) + 1;
// Вибираємо випадкову кількість елементів з масиву
let selectedItems = items.slice(0, randomCount);
console.log(`Вибрані елементи: ${selectedItems.join(', ')}`);