Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как округлить число до двух знаков

Короткий ответ

Метод toFixed() возвращает строку с нужным числом знаков:

console.log((3.14159).toFixed(2));

Результат:

3.14

Получить число

Если нужен не текст, а число, округляйте через Math.round():

console.log(Math.round(3.14159 * 100) / 100);

Результат:

3.14

Разница между способами

toFixed() сохраняет нули в конце, а число — нет:

console.log((2.5).toFixed(2));
console.log(Math.round(2.5 * 100) / 100);

Результат:

2.50
2.5

Частая ошибка

Числа вроде 1.005 хранятся чуть меньше, чем выглядят, поэтому округляются вниз. Добавление Number.EPSILON исправляет большинство таких случаев:

console.log(Math.round(1.005 * 100) / 100);
console.log(Math.round((1.005 + Number.EPSILON) * 100) / 100);

Результат:

1
1.01

Функции из этого ответа

  • Number.prototype.toFixed — Форматирует число с заданным количеством знаков после запятой.
  • Math.round — Округляет число до ближайшего целого.
  • Intl.NumberFormat — Форматирует числа, валюты, проценты и единицы измерения по правилам языка.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.