Данный:
a = 1
b = 10
c = 100
Как отобразить начальный ноль для всех чисел, состоящих менее чем из двух цифр?
Это результат, который я ожидаю:
01
10
100
python
integer
string-formatting
ashchristopher
источник
источник
x = "%02d.txt" % i
вызывает TypeError (не может объединять объекты 'str' и 'int'), ноx = "%02d.txt" % (i,)
не делает. Интересно. Интересно, где это задокументировано%
строкового форматера.Вы можете использовать
str.zfill
:печатает:
источник
"{1:02d}"
переменные не могут иметь место2
(например, если вы создаете динамическую функцию).В Python 2.6+ и 3.0+ вы бы использовали
format()
строковый метод:или используя встроенный (для одного номера):
См. Документацию PEP-3101 для новых функций форматирования.
источник
печатает:
источник
One zero:{0:02}, two zeros: {0:03}, ninezeros: {0:010}'.format(6)
print '{:02}'.format(1)
Или это:
print '{0:02d}'.format(1)
источник
В Python> = 3.6 вы можете сделать это кратко с новыми f-строками, которые были введены с помощью:
который печатает переменную с именем
val
соfill
значением0
и аwidth
из2
.Для вашего конкретного примера вы можете сделать это красиво в цикле:
который печатает:
Для получения дополнительной информации о f-строках взгляните на PEP 498, где они были представлены.
источник
результаты в:
Прочитайте больше информации о форматировании строки, используя% в документации.
источник
Pythonic способ сделать это:
Таким образом, исходная строка возвращается без изменений, если ее длина больше, чем string_width. Пример:
Результаты:
источник
Или другое решение.
источник
"{0:0>2}".format(number)
если кто-то захочет получить nLeadingZeros, он должен отметить, что он также может сделать:"{0:0>{1}}".format(number, nLeadingZeros + 1)
Используйте строку формата - http://docs.python.org/lib/typesseq-strings.html
Например:
источник
Вот как я это делаю:
По сути, zfill принимает количество начальных нулей, которое вы хотите добавить, поэтому легко взять наибольшее число, превратить его в строку и получить длину, например:
источник
источник
Вы можете сделать это с помощью f строк .
Это напечатает постоянную длину 8, а остальное заполнит начальным
0
.источник
Использование:
Или с
math
модулем:источник
5 - это общее количество цифр.
Я использовал эту ссылку: http://www.datasciencemadesimple.com/add-leading-preceding-zeros-python/
источник
Если речь идет о числах, состоящих из одной или двух цифр:
'0'+str(number)[-2:]
или'0{0}'.format(number)[-2:]
источник