/
Вопросы и ответы
/
JavaScript
/

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

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

4 года назад

Человек-Молекула

Ответы

5

Для округления десятичных чисел дофиксированного количества знаков после запятой в JS используется метод toFixed(). В качестве параметра метод принимает количество знаков, до которого нужно округлить. Если в исходном числе будет меньше знаков, то недостающие знаки заменятся нулями.

Примеры:

const pi = 3.14159265359;
console.log(pi.toFixed(2)); // => 3.14
const num = 4;
console.log(num.toFixed(2)); // => 4.00

3 года назад

Ivan Gagarinov

1

Хмм. Думаю тут есть неточность (или для js и так сойдет ?). В вопросе округление числа, но метод toFixed возвращает строку, как быть в таком случае, typescript неоценит такое округление.

3 года назад

Sergey Krivtsov

0

Для округления десятичных чисел до фиксированного количества знаков после запятой в JavaScript используется метод toFixed(). В качестве параметра метод принимает количество знаков, до которого нужно округлить. Если в исходном числе будет меньше знаков, то недостающие знаки заменятся нулями.

Примеры:

const pi = 3.14159265359; console.log(pi.toFixed(2)); // => 3.14 const num = 4; console.log(num.toFixed(2)); // => 4.00

3 года назад

Ринат Камалитдинов

0

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

function getRandomInt(min, max, znakPosleZpt){ let q=Math.random() * (max - min) + min; return q.toFixed(znakPosleZpt) } console.log(getRandomInt(12,50,5))

2 года назад

Саганыш Саганыш

0

const pi = 3.14159265359; console.log(typeof Number(pi.toFixed(2)); // => "number"

2 года назад

Юра Ефремов

0

Я использовал Math.round, потому что с .toFixed далее по коду были проблемы. Полученное значение нельзя было добавить к общей сумме и собственно .toFixed ругался.

Вот такое число записывалось в переменную при totalKm = 12: 03.60. Видимо этот 0 впереди ломает работу .toFixed

Пример:

totalKm = 12;

Math.round(totalKm * 0.3 * 100) / 100;

Если использовать personalCarCosts = (totalKm * 0.3).toFixed(2); ниже по коду получал ошибку

totalCosts = totalMealsCost + totalTravelCosts + totalAccommodationCosts + totalAdditionalCosts + personalCarCosts;

$('#total_costs').val(totalCosts.toFixed(2));

Uncaught TypeError: totalCosts.toFixed is not a function

С Math.round проходит без проблем.

2 года назад

Андрей