如何在Python中用零填充数字字符串?

时间:2016-12-06 16:16:05

标签: python string

Python字符串有一个名为zfill的方法,允许用左边的零填充数字字符串。

In : str(190).zfill(8)
Out: '00000190'

如何让垫子在右边?

3 个答案:

答案 0 :(得分:11)

请参阅Format Specification Mini-Language

In [1]: '{:<08d}'.format(190)
Out[1]: '19000000'

In [2]: '{:>08d}'.format(190)
Out[2]: '00000190'

答案 1 :(得分:6)

作为另类更便携[1]和高效[2]的替代方案,实际上你可以使用str.ljust

In [2]: '190'.ljust(8, '0')
Out[2]: '19000000'

In [3]: str.ljust?
Docstring:
S.ljust(width[, fillchar]) -> str

Return S left-justified in a Unicode string of length width. Padding is
done using the specified fill character (default is a space).
Type:      method_descriptor
老python版本中不存在

[1]格式。格式说明符是从Python 3.0(参见PEP 3101)和Python 2.6。

以来添加的

[2]反转两次是一项昂贵的操作。

答案 2 :(得分:3)

提示:字符串可以反转两次:使用zfill方法之前和之后:

In : acc = '991000'

In : acc[::-1].zfill(9)[::-1]
Out: '991000000'

或者更容易:

In : acc.ljust(9, '0')
Out: '991000000'