Как округлить число до двух знаков
Короткий ответ
Метод 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 — Форматирует числа, валюты, проценты и единицы измерения по правилам языка.