在Python中如何将一个单数字转换为双数字字符串?

102 投票
11 回答
233171 浏览
提问于 2025-04-16 02:56

假设我有下面的代码:

a = 5

我想把它打印成一个字符串 '05'

11 个回答

23
>>> print '{0}'.format('5'.zfill(2))
05

想了解更多内容,可以点击这里

28
a = 5
print '%02d' % a
# output: 05

在编程中,'%'这个符号叫做字符串格式化运算符,当它放在一个字符串的左边时就这样称呼。比如说,'%d'是一个格式代码,用来打印整数。如果你用它来打印非数字的东西,就会出现类型错误。还有,'%2d'可以让你指定输出的长度,而'%02d'则是把默认的空格替换成0,用来填充。

174

在Python 3.6中,推出了一种叫做f字符串的机制,也就是“格式化字符串字面量”。

f"{a:02}"

它和下面的 .format 格式是一样的,但写起来更简洁一些。


在3.6之前的Python 3版本中,使用的格式化方式相对比较啰嗦:

"{0:0=2d}".format(a)

这里你可以走捷径,上面的写法可能是最啰嗦的版本。完整的文档可以在这里找到:http://docs.python.org/3/library/string.html#string-formatting


print "%02d"%a 是Python 2中的写法。

关于Python 2的相关文档链接是:http://docs.python.org/2/library/string.html#format-specification-mini-language

撰写回答