web-dev-qa-db-ja.com

固定幅の数値フォーマットpython 3

Format属性を使用してpython 3.2で0を固定幅に埋める整数を取得するにはどうすればよいですか?例:

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

私が欲しい「001」の代わりに「1」を与えます。 python 2.xでは、これは次を使用して実行できることを知っています

print "%03d" % number. 

python 3文字列のドキュメントを確認しましたが、これを取得できませんでした。

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

ありがとう。

12
pogo

幅の前に0を付けます:

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

また、最近のバージョンのPython(どちらかはわかりませんが、少なくとも2.7と3.1)ではプレースマーカーは必要ありません):

>>> '{:03}'.format(1)
'001'
47
Marcelo Cantos

0-sを埋めるための組み込みの文字列メソッド 。zfill があります:

>>> str(42).zfill(5)
'00042'
>>> str(42).zfill(2)
'42'
1
Aivar Paalberg

より良い:

number=12
print(f'number is equal to {number:03d}')
0
Mendi Barel