Как округлить сумму денег до двух десятичных знаков, используя арифметическое соглашение, которое
167 7451 округляется до 167,75
12,1819784 округляется до 12,18
Заметьте, что я хочу сделать это арифметически и возвращать float, а не строку, поэтому простые решения для форматирования не являются тем, что я ищу.
До сих пор я нашел следующее:
amount = 167.7451;
rounded = (amount.toFixed(2));
alert(rounded);
однако результат toFixed() - это строка, поэтому, если мне нужно сделать больше вычислений, мне нужно снова проанализировать строку для float.
Вместо этого метод .toPrecision хочет знать, сколько цифр мне нужно, чтобы округлить сумму до двух десятичных знаков, которые мне нужны:
amount = 167.7451;
alert(amount.toPrecision(5));
что смешно, потому что мне нужно сначала узнать, сколько цифр у меня есть до десятичных знаков.