JavaScript | Как округлить до целого?

В JavaScript всё является объектами. Любой объект в JavaScript по цепочке прототипов приходит к «Глобальному Объекту» языка. У «Глобального Объекта» JavaScript есть свои собственные свойства-конструкторы. Одним из таких свойств является объект Math

Чтобы округлять дробные числа до целых нужно использовать конструктор Math и его собственные методы округления чисел:

  • ceil( ) — округление до наибольшего целого
  • floor( ) — округление до наименьшего целого
  • round( ) — округление до ближайшего целого

Напоминаю, что по правилам классической математики 0,5 округляется в большую сторону. Так работает метод round( ).

Примеры

В качестве примеров мы будем передавать в методы дробные числа.

Округление до наибольшего целого

Math.ceil(1.11)
2

Math.ceil(1.5)
2

Math.ceil(1.7)
2
Округлили дробное до наибольшего целого - JavaScript
Округлили дробное до наибольшего целого — JavaScript

Округление до наименьшего целого

Math.floor(1.11)
1

Math.floor(1.5)
1

Math.floor(1.7)
1
Округлили дробное до наименьшего целого - JavaScript
Округлили дробное до наименьшего целого — JavaScript

Округление до ближайшего целого (как в математике)

Math.round(1.11)
1

Math.round(1.5)
2

Math.round(1.7)
2
Округлили дробное до ближайшего целого - JavaScript
Округлили дробное до ближайшего целого — JavaScript

 

Зачем нужно округлять дробные до целых?

Представьте, что где-то в логике алгоритма нужно найти середину массива? Если длина массива будет чётным числом, то при делении чётного числа на 2 мы всегда получим целое. А вот если длина массива будет нечётным числом, тогда деление на 2 вернёт нам дробное число.

Мы знаем, что в «правильных» массивах не бывает дробных индексов, а значит нам нужно будет явно указать какое-то целое, наиболее подходящее к серединному значению массива. Теперь вы знаете как можно округлить дробное до целого.

 

Где ещё можно применить округление до целого?

Почитайте решение одной из стандартных задач в языке JavaScript — Как проверить число на дробное?

 

Информационные ссылки

Стандарт ECMAScript — Раздел «21.3.2.10 Math.ceil ( x )» — https://tc39.es/ecma262/#sec-math.ceil

Стандарт ECMAScript — Раздел «21.3.2.16 Math.floor ( x )» — https://tc39.es/ecma262/#sec-math.floor

Стандарт ECMAScript — Раздел «21.3.2.28 Math.round ( x )» — https://tc39.es/ecma262/#sec-math.round

Поделись записью