Числа в JavaScript. Округлення чисел

26

Від автора: вітаю вас, друзі Ми продовжуємо статті по вивченню JavaScript і в цій статті ми з вами продовжимо більш детально говорити про числах в JavaScript. Зокрема, з цієї статті ми дізнаємося, як округляти числа.

Остання тема, яку ми торкнемося при роботі з числами в JavaScript, стосуватиметься питання округлення чисел. З округленням числа ми можемо стикатися в роботі суцільно й поруч.

Наприклад, ми працюємо з інтернет-магазином і нам необхідно відняти із суми товарів дисконт клієнта. У цьому випадку ми цілком можемо отримати дробове число, яке може знадобитися округлити до цілого або до визначеного знаку після коми.

Подібних прикладів у реальній практиці безліч. Як же округлити число JavaScript? Досить просто. Для цієї операції JavaScript пропонує нам об’єкт Math і три його методу для округлення числа:

floor — округлення вниз;

ceil — округлення вгору;

round — округлення за правилами математики, тобто до найближчого цілого.

І відразу ж кілька прикладів:

console.log( Math.floor(1.5) ); // 1
console.log( Math.ceil(1.5) ); // 2
console.log( Math.round(1.5) ); // 2

Добре, з округленням до цілого числа все просто і зрозуміло. А що робити, якщо нам потрібно округлити число до певної кількості знаків після коми? В якості прикладу можна взяти той же інтернет-магазин, де можуть бути дозволені ціни з копійками і, відповідно, ціна повинна містити два знаки після коми. Для рішення такої задачі JavaScript пропонує нам спеціальну функцію — toFixed(). Функція приймає параметром число знаків після коми, яке нам потрібно. І, як завжди, приклади:

var x = 1.57815,
y = 1.574,
z = 1;
console.log( x.toFixed(2) ); // 1.58
console.log( y.toFixed(2) ); // 1.57
console.log( z.toFixed(2) ); // 1.00

Зверніть увагу, округлення відбувається за математичними правилами, тобто якщо остання відокремлювана цифра більше 5, тоді що залишається остання цифра збільшується на 1. Якщо остання відокремлювана цифра менше 5, тоді що залишається остання цифра не змінюється. А ось якщо остання відокремлювана цифра дорівнює 5, тоді що залишається остання цифра може збільшитися на 1, так і залишитися незмінною. Пам’ятайте про цей нюанс. Пов’язаний він з тим, що числа з плаваючою крапкою мають обмежену точність.

На цьому ми завершимо тему чисел в JavaScript. Якщо ви хочете більше дізнатися про JavaScript, тоді рекомендую звернути свою увагу на уроки по JavaScript і окремий курс по мові JavaScript. Удачі!