Ответ 1
"%04d"
, где 4 - постоянная длина, сделает то, что вы описали.
Вы можете прочитать о форматировании строки здесь.
В Python, как я могу указать формат при преобразовании int в строку?
Точнее, я хочу, чтобы мой формат добавлял ведущие нули, чтобы иметь строку с постоянной длиной. Например, если для постоянной длины установлено значение 4:
У меня нет ограничений на поведение, когда целое число больше, чем может позволить указанную длину (9999 в моем примере).
Как я могу это сделать в Python?
"%04d"
, где 4 - постоянная длина, сделает то, что вы описали.
Вы можете прочитать о форматировании строки здесь.
Вы можете использовать функцию zfill
класса str
. Так же -
>>> str(165).zfill(4)
'0165'
Можно также сделать %04d
и т.д., как и другие. Но я думал, что это более питонический способ сделать это...
Попробуйте отформатированную строку:
print "%04d" % 1
Выходы 0001
Используйте оператор процента (%
):
>>> number = 1
>>> print("%04d") % number
0001
>>> number = 342
>>> print("%04d") % number
0342
Документация здесь
Преимущество использования %
вместо zfill() заключается в том, что вы разбираете значения в строке более разборчивым способом:
>>> number = 99
>>> print("My number is %04d to which I can add 1 and get %04d") % (number, number+1)
My number is 0099 to which I can add 1 and get 0100