在Python中,如何指定格式将int转为字符串?
在Python中,我该如何指定格式将整数转换为字符串呢?
更具体地说,我想要的格式是给字符串前面加零,以保持字符串的长度是固定的。例如,如果我设定的固定长度是4:
- 1会被转换成"0001"
- 12会被转换成"0012"
- 165会被转换成"0165"
对于大于这个固定长度能表示的最大整数(在我的例子中是9999),我没有特别的要求。
我该如何在Python中实现这个呢?
5 个回答
8
使用python3
格式和新版本3.6的格式化字符串字面量,你可以用f""
的方式来写代码:
>>> i = 5
>>> "{:4n}".format(i)
' 5'
>>> "{:04n}".format(i)
'0005'
>>> f"{i:4n}"
' 5'
>>> f"{i:04n}"
'0005'
22
你可以使用 str
类的 zfill
函数。用法如下 -
>>> str(165).zfill(4)
'0165'
当然,也可以像其他人建议的那样用 %04d
等方式。但我觉得这是一种更符合 Python 风格的方法...