-1

我想用 4 位数字打印输出。

例如,使用16/2,输出应该是0008

我该怎么做?

4

4 回答 4

6
>>> '{:04d}'.format(16/2)
'0008'

字符串格式04d意味着:

0 -- fill spaces with 0
4 -- width should be 4 (though can be greater if the input requires it)
d -- format the input as an integer

有关格式字符串语法的更多信息,请参阅此页面

于 2013-09-19T14:39:51.503 回答
5

str.zfill()更适合这个:

>>> str(16/2).zfill(4)
'0008'

str.zfill(width)

返回长度为width的字符串中用零填充的数字字符串。正确处理符号前缀。如果 width 小于或等于 ,则返回原始字符串len(s)

于 2013-09-19T14:40:24.723 回答
1

为了完整起见,旧样式:

In [1]: '%04d' % (16 / 2)
Out[1]: '0008'

“04d”与@unutbu 的答案相同。

于 2013-09-19T14:43:41.393 回答
0

您可以使用str.rjust

>>> str(16/2).rjust(4, '0')
'0008'
于 2013-09-19T14:41:37.813 回答