Удаление десятичной части чисел в JavaScript: методы

Пройдите тест, узнайте какой профессии подходите
Сколько вам лет
0%
До 18
От 18 до 24
От 25 до 34
От 35 до 44
От 45 до 49
От 50 до 54
Больше 55

Быстрый ответ

Чтобы удалить дробную часть числа в JavaScript, используйте функцию Math.trunc(). Этот метод наиболее оптимальный, хотя и существуют другие подходы:

JS
Скопировать код
let number = 123.456;
let noDecimals = Math.trunc(number); // 123, "Привет, целая часть, тебе не было нужно дробное продолжение."

Пошаговый план для смены профессии

Отсечение дробной части в JavaScript

Помимо Math.trunc(), в JavaScript существует несколько других подходов для избавления от десятичных знаков. Вот основные из них и их характеристики:

Метод Описание Возвращаемый результат
Math.trunc(number) Простое отсечение дробной части. Number
~~number Оператор с высокой скоростью выполнения. Number
parseInt(number) Возвращает целый компонент числа. Прост и понятен. Number
Math.floor(number) Округляет значение вниз. Number
Math.round(number) Производит округление до ближайшего целого. Точен и объективен. Number

Однако стоит помнить, что побитовые операторы (~~) имеют ограничение на 32 бита. Поэтому в работе с большими числами следует проявлять осторожность!

Округление и точность

Арифметика с плавающей точкой порой может поставить в тупик, как, например, Math.round(), округляя число на первый взгляд неправильно. Чтобы избежать подобных неожиданностей, используйте Math.floor() для отрицательных и Math.ceil() для положительных значений.

Полифил для

Если ваш браузер не поддерживает Math.trunc(), вы можете воспользоваться следующим полифилом:

JS
Скопировать код
if (!Math.trunc) {
  Math.trunc = function(v) {
    return v < 0 ? Math.ceil(v) : Math.floor(v);
  };
}

Строковое представление числа

Если требуется преобразовать число без десятичных знаков в строку, следует использовать Number.toFixed(0). Но помимо этого вам возможно потребуется преобразование обратно в число:

JS
Скопировать код
let number = 123.456;
let noDecimalsString = number.toFixed(0); // "123", "Теперь это строка, несущая в себе число."
let noDecimalsNumber = Number(noDecimalsString); // 123 – Возвращение к числовому формату

Визуализация

Визуализируем процесс отсечения дробной части числа:

Markdown
Скопировать код
До: 🌳 6.35 
После: 🌲 6 

Здесь Math.trunc функционирует как садовые ножницы ✂️ – отсекают лишнее и оставляют только целое число.

JS
Скопировать код
let number = 6.35;
number = Math.trunc(number); // 🌳 -> 🌲

Арифметика и точность

Арифметика с плавающей точкой всегда представляет интерес, но она может порождать проблемы с точностью. Учитывайте это, особенно при умножении числа на 10 в степени перед его округлением. Важно осознавать, как числа представлены в машинной арифметике.

Производительность

С точки зрения скорости исполнения, побитовые операторы, например, ~~, выступают как быстрые инструменты. Они помогут вам быстро отсечь дробную часть, но в случае, если важна точность, предпочтительнее использовать методы Math.

Полезные материалы

  1. Math.floor() – JavaScript | MDN — Подробнее о Math.floor(), помогающем в округлении числа в меньшую сторону.
  2. Format number to always show 2 decimal places — Узнайте, как ограничить число заданным количеством десятичных знаков.
  3. parseInt() – JavaScript | MDN — Изучите документацию по преобразованию строки в целое число с помощью parseInt().
  4. Number.prototype.toFixed() – JavaScript | MDN — Узнайте больше об использовании Number.toFixed() для форматирования чисел.
  5. JavaScript Bitwise — Познакомьтесь с побитовыми операциями.
  6. Math.round() – JavaScript | MDN — Научитесь применять Math.round() для округления чисел.
  7. What does a tilde do when it precedes an expression? – Stack Overflow — Разберитесь в интересной детали использования тильды в JavaScript.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод в JavaScript используется для удаления дробной части числа?
1 / 5

Загрузка...