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

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

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

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

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

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

 

JavaScript - Как округлить до целого - ceil, floor, round, trunc - 2022 год
JavaScript — Как округлить до целого — ceil, floor, round, trunc — 2022 год

 

Примеры

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

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

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

 

Округление до целого в сторону нуля

Math.trunc(-11.1)
-11
Math.trunc(-11.6)
-11
Math.trunc(12.1)
12
Math.trunc(12.6)
12
Округление до целого в сторону нуля
Округление до целого в сторону нуля

 

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

Представьте, что где-то в логике алгоритма нужно найти середину массива? Если длина массива будет чётным числом, то при делении чётного числа на 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