От автора: приветствую вас, друзья Мы продолжаем статьи по изучению JavaScript и в этой статье мы с вами продолжим более подробно говорить о числах в JavaScript. В частности, из этой статьи мы узнаем, как округлять числа.
Последняя тема, которую мы затронем при работе с числами в JavaScript, будет касаться вопроса округления чисел. С округлением числа мы можем сталкиваться в работе сплошь и рядом.
Например, мы работаем с интернет-магазином и нам необходимо вычесть из суммы товаров дисконт клиента. В этом случае мы вполне можем получить дробное число, которое может потребоваться округлить до целого или до определенного знака после запятой.
Подобных примеров в реальной практике множество. Как же округлить число в JavaScript? Достаточно просто. Для этой операции JavaScript предлагает нам объект Math и три его метода для округления числа:
floor — округление вниз;
ceil — округление вверх;
round — округление по правилам математики, то есть до ближайшего целого.
И сразу же несколько примеров:
1 2 3 |
console.log( Math.floor(1.5) ); // 1 console.log( Math.ceil(1.5) ); // 2 console.log( Math.round(1.5) ); // 2 |
Хорошо, с округлением до целого числа все просто и понятно. А что делать, если нам нужно округлить число до определенного количества знаков после запятой? В качестве примера можно взять тот же интернет-магазин, где могут быть разрешены цены с копейками и, соответственно, цена должна содержать два знака после запятой. Для решения такой задачи JavaScript предлагает нам специальную функцию — toFixed(). Функция принимает параметром число знаков после запятой, которое нам нужно. И, как всегда, примеры:
1 2 3 4 5 6 |
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. Удачи!