Исправлено форматирование числа по ширине Python 3 - PullRequest
11 голосов
/ 29 июля 2011

Как мне получить целое число, чтобы заполнить 0 до фиксированной ширины в python 3.2, используя атрибут format? Пример:

a = 1
print('{0:3}'.format(a)} 

дает «1» вместо «001», который я хочу. В Python 2.x я знаю, что это можно сделать с помощью

print "%03d" % number. 

Я проверил документацию по Python 3, но не смог получить это.

http://docs.python.org/release/3.2/library/string.html#format-specification-mini-language

Спасибо.

Ответы [ 2 ]

45 голосов
/ 29 июля 2011

Префикс ширины с 0:

>>> '{0:03}'.format(1)
'001'

Кроме того, вам не нужен маркер места в последних версиях Python (не уверен, какой, но как минимум 2.7 и 3.1):

>>> '{:03}'.format(1)
'001'
0 голосов
/ 26 мая 2019

Существует встроенный метод строк .zfill для заполнения 0 с:

>>> str(42).zfill(5)
'00042'
>>> str(42).zfill(2)
'42'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...