Отображать номера до двух десятичных знаков без конечных нулей

В моем коде я буду принимать несколько значений, например:

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