Я хочу отформатировать число, чтобы оно состояло из двух цифр. Проблема возникает, когда 0
- 9
передается, поэтому мне нужно отформатировать в 00
- 09
.
Есть ли в JavaScript средство форматирования чисел?
javascript
number-formatting
Кит Пауэр
источник
источник
Ответы:
Лучший метод, который я нашел, это что-то вроде следующего:
(Обратите внимание, что эта простая версия работает только для натуральных чисел)
Для десятичных чисел вы можете использовать этот код (хотя он немного небрежный).
Наконец, если вам приходится иметь дело с возможностью отрицательных чисел, лучше всего сохранить знак, применить форматирование к абсолютному значению числа и повторно применить знак после факта. Обратите внимание, что этот метод не ограничивает число до 2 цифр. Вместо этого он ограничивает число только слева от десятичной части (целая часть). (Линия, которая определяет знак была найдена здесь ).
источник
.toPrecision()
метод w3schools.com/jsref/jsref_toprecision.aspЕсли число больше 9, преобразуйте число в строку (согласованность). В противном случае добавьте ноль.
источник
Используйте метод toLocaleString () для любого числа. Таким образом, для числа 6, как видно ниже, вы можете получить желаемые результаты.
Сгенерирует строку «06».
источник
(6).toLocaleString(undefined, {minimumIntegerDigits: 2})
Вот простая функция заполнения цифрами, которую я обычно использую. Это позволяет для любого количества заполнения.
Примеры:
источник
Во всех современных браузерах вы можете использовать
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
источник
Ответ @ Lifehack был очень полезен для меня; где я думаю, что мы можем сделать это в одну строку для положительных чисел
источник
источник
("0" + (date.getDate())).slice(-2);
Ты можешь сделать:
Пример:
Результат:
источник
Кажется, у вас может быть строка вместо числа. использовать это:
Вот пример: http://jsfiddle.net/xtgFp/
источник
Быстрый и грязный лайнер ....
источник
Number.prototype.leftPad = String.prototype.leftPad = function (pad) { return 0..toFixed(pad).slice(2, -this.toString().length) + this.toString(); };
Это просто и работает довольно хорошо:
источник
Вот очень простое решение, которое хорошо сработало для меня.
Сначала объявите переменную для хранения вашего номера.
Теперь преобразуйте число в строку и удерживайте ее в другой переменной;
Теперь вы можете проверить длину этой строки, если она меньше желаемой, вы можете добавить «ноль» в начале.
Теперь используйте номер по желанию
источник
Вот самое простое решение, которое я нашел:
источник
Улучшенная версия предыдущего ответа
источник
Я знаю, что это древний пост, но я хотел предоставить более гибкую и оригинальную возможность решения.
Я немного экстраполировал принятый ответ и расширил
Number
объект javascript, чтобы можно было настраивать заполнение нулями:Редактировать: добавить код, чтобы предотвратить обрезку номеров длиннее, чем запрошенные цифры
ПРИМЕЧАНИЕ: это устарело во всех, кроме IE. Используйте
padStart()
вместо этого.источник
Для JavaScript нет встроенного средства форматирования чисел, но есть некоторые библиотеки, которые выполняют это:
источник
или
с участием
источник
Если вы хотите одновременно ограничить свои цифры:
Это также прервало бы любое значение, которое превышает две цифры. Я распространял это на решение Фанаура.
источник
источник
Вот простое рекурсивное решение, которое работает для любого количества цифр.
источник
Если в вашем проекте нет lodash, добавление всей библиотеки просто для использования одной функции будет излишним. Это самое сложное решение вашей проблемы, которое я когда-либо видел.
источник
Вот моя версия. Может быть легко адаптирован к другим сценариям.
источник
источник
Для всех, кто хочет иметь разницу во времени и иметь результаты, которые могут принимать отрицательные числа, здесь хороший. pad (3) = "03", pad (-2) = "-02", pad (-234) = "-234"
источник
с помощью этой функции вы можете печатать с любыми n цифрами, которые вы хотите
источник
мой пример будет :
источник
`${number}`.replace(/^(\d)$/, '0$1');
Регекс является лучшим.
источник
Тип данных AS в Javascript определяется динамически, он обрабатывает 04 как 4. Используйте условный оператор, если значение меньше 10, затем добавьте 0 перед ним, сделав его строкой E.g,
источник
Я построил довольно простую функцию форматирования, которую я вызываю всякий раз, когда мне нужно отформатировать простую дату. Он имеет дело с форматированием однозначных чисел в двузначные, когда они меньше 10. Он выбрасывает дату, отформатированную как
Sat Sep 29 2018 - 00:05:44
Эта функция используется как часть переменной utils, поэтому она называется:
источник
Обновлен для функций стрелок ES6 (поддерживается почти во всех современных браузерах, см. CanIUse )
источник