Лучший метод, который я нашел, это что-то вроде следующего:
(обратите внимание, что эта простая версия работает только для натуральных чисел)
var myNumber = 7;
var formattedNumber = ("0" + myNumber).slice(-2);
console.log(formattedNumber);
Для десятичных чисел вы можете использовать этот код (хотя это немного неаккуратно).
var myNumber = 7.5;
var dec = myNumber - Math.floor(myNumber);
myNumber = myNumber - dec;
var formattedNumber = ("0" + myNumber).slice(-2) + dec.toString().substr(1);
console.log(formattedNumber);
Наконец, если вам приходится иметь дело с возможностью отрицательных чисел, лучше сохранить знак, применить форматирование к абсолютному значению числа, иповторно применить знак после факта.Обратите внимание, что этот метод не ограничивает число до 2 цифр.Вместо этого он ограничивает число только слева от десятичной дроби (целая часть).(Линия, которая определяет знак, была найдена здесь ).
var myNumber = -7.2345;
var sign = myNumber?myNumber<0?-1:1:0;
myNumber = myNumber * sign + ''; // poor man's absolute value
var dec = myNumber.match(/\.\d+$/);
var int = myNumber.match(/^[^\.]+/);
var formattedNumber = (sign < 0 ? '-' : '') + ("0" + int).slice(-2) + (dec !== null ? dec : '');
console.log(formattedNumber);