Обработка чисел с плавающей запятой в JavaScript: parseFloat()

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

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

Если необходим внезапный ответ, вот он. Сначала переведите строку в число с плавающей запятой при помощи функции parseFloat(). Позже примените метод .toFixed(2), чтобы округлить полученное число до двух знаков после запятой.

JS
Скопировать код
let speedyGonzalez = parseFloat('123.456').toFixed(2); // '123.46', удобно и быстро! 🚀

Функция parseFloat() отвечает за преобразование строки в число, а метод .toFixed(2) помогает округлить этот результат до необходимой точности.

Вопросы производительности

Когда каждая сотая доли секунды на счету, использование метода Math.round() может помочь поддерживать высокую производительность, так как он позволяет работать с числом, не переводя его в строку, что делает toFixed().

JS
Скопировать код
let number = Math.round(parseFloat('123.456') * 100) / 100; // 123.46, это эффективно! 🎯

Управление числами с разной точностью

Если от вас требуется работать с числами, имеющими разное количество знаков после запятой, удобно применить метод, аналогичный следующему:

JS
Скопировать код
Number.prototype.round = function(precision) {
  let factor = Math.pow(10, precision);
  return Math.round(this * factor) / factor;
};

let roundAndProud = parseFloat('123.456').round(2); // 123.46, это точность! 🎩🔍

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

Смоделируем, что вы формируете дерево с целью достижения идеального вида:

Буйная растительность (🌳): 22.98765 – росла естественно и требует прически!

Используем parseFloat для процесса причёски:

JS
Скопировать код
parseFloat("22.98765").toFixed(2);  // 🌳✂️  -> "22.99"

Её уже исправленная крона:

Совершенная крона (🎄): 22.99 – красота в симметрии двух знаков после запятой.

Практическое применение

Разрешение проблем с арифметикой с плавающей запятой

Работа с числами с плавающей запятой поднимает проблемы точности. Иногда toFixed() может стать неожиданным источником заблуждений!

JS
Скопировать код
(0.1 + 0.2).toFixed(2); // "0.30", что может сбить с толку.

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

Форматирование сумм в валюте

Точность обладает крайней важностью, когда дело касается денег. Intl.NumberFormat является прекрасным инструментом для форматирования валют:

JS
Скопировать код
let formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 2,
});

let moneyTalks = formatter.format(123456.789); // "$123,456.79", это поразительно! 💵

Осторожное преобразование разного рода чисел

Проявляйте тонкость в обработке самых различных входных данных, таких как целые числа и строки. Не стоит добавлять ненужные десятичные знаки к целым числам:

JS
Скопировать код
parseFloat('100').toFixed(2); // "100.00", возможно, это лишнее.

Если необходимо обработать строки, которые выглядят как валютный формат, убедитесь в корректности преобразования числа:

JS
Скопировать код
parseFloat('$123,456.78'.replace(/[^\d.-]/g, '')).toFixed(2); // "123456.78" – без лишних знаков, чистенько и ухоженно!

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

  1. Number.prototype.toFixed() – JavaScript | MDN – Погрузитесь в подробное описание JavaScript метода для форматирования чисел с фиксированным количеством знаков после запятой.
  2. parseFloat() – JavaScript | MDN – Обширная документация JavaScript функции для преобразования строкового значения в число с плавающей запятой.
  3. How to round to at most 2 decimal places, if necessary – Stack Overflow – Разнообразные способы округления чисел до заданной точности, предложенные этой обширной общиной.
  4. Intl.NumberFormat – JavaScript | MDN – Подробное руководство по использованию международного форматирования чисел в JavaScript.
  5. Five Tips for Floating Point Programming – CodeProject – Ценные советы для работы с числами с плавающей запятой.