Отображать номера до двух десятичных знаков без конечных нулей
В моем коде я буду принимать несколько значений, например:
8.7456
8.7
8
и мне нужно, чтобы они отображались как
8.74
8.7
8
то есть. отображать до двух знаков после запятой.
Я понимаю, что .toFixed(2)
поможет мне с первым значением, но на втором и третьем значениях будут отсутствовать нулевые нули.
Как получить желаемые результаты?
Ответы
Ответ 1
Используйте Number.toFixed
, чтобы округлить число до двух цифр и форматировать в виде строки. Затем используйте String.replace
, чтобы отрубить конечные нули:
(8.7456).toFixed(2).replace(/\.?0+$/, ""); // "8.75"
(8.7).toFixed(2).replace(/\.?0+$/, ""); // "8.7"
(8).toFixed(2).replace(/\.?0+$/, ""); // "8"
Ответ 2
Умножьте на 100, floor
, разделите на 100.
var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74