72

数字の 123 を表示したいとします。前面にさまざまな数のゼロが埋め込まれています。

たとえば、5 桁で表示したい場合は、数字 = 5 で次のようになります。

00123

6桁で表示したい場合は、数字= 6で次のようになります。

000123

Pythonでこれを行うにはどうすればよいですか?

4

7 に答える 7

194

format()古いスタイルの''%フォーマットよりも優先される方法でフォーマットされた文字列で使用している場合

>>> 'One hundred and twenty three with three leading zeros {0:06}.'.format(123)
'One hundred and twenty three with three leading zeros 000123.'


http://docs.python.org/library/stdtypes.html#str.formathttp://docs.python.org/library/string.html#formatstringsを参照して
ください

これは可変幅の例です

>>> '{num:0{width}}'.format(num=123, width=6)
'000123'

塗りつぶし文字を変数として指定することもできます

>>> '{num:{fill}{width}}'.format(num=123, fill='0', width=6)
'000123'
于 2010-07-12T13:23:15.950 に答える
42

zfill と呼ばれる文字列メソッドがあります。

>>> '12344'.zfill(10)
0000012344

文字列の長さを N (この場合は 10) にするために、文字列の左側をゼロで埋めます。

于 2010-07-12T13:17:55.473 に答える
24
'%0*d' % (5, 123)
于 2010-07-12T13:19:41.077 に答える
22

Python 3.6でフォーマットされた文字列リテラル(略して「f-strings」) が導入されたことで、以前に定義された変数に、より簡潔な構文でアクセスできるようになりました。

>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'

John La Rooy が示した例は、次のように記述できます。

In [1]: num=123
   ...: fill='0'
   ...: width=6
   ...: f'{num:{fill}{width}}'

Out[1]: '000123'
于 2017-05-26T15:39:40.443 に答える
5
print "%03d" % (43)

プリント

043

于 2010-07-12T13:20:41.813 に答える
1

文字列フォーマットを使用する

print '%(#)03d' % {'#': 2}
002
print '%(#)06d' % {'#': 123}
000123

詳細はこちら:リンクテキスト

于 2010-07-12T13:20:53.713 に答える