如何在数字字符串的左边加上零,使字符串具有特定的长度?
当前回答
我添加了如何使用f-string中字符串长度的int,因为它似乎没有被覆盖:
>>> pad_number = len("this_string")
11
>>> s = f"{1:0{pad_number}}" }
>>> s
'00000000001'
其他回答
我添加了如何使用f-string中字符串长度的int,因为它似乎没有被覆盖:
>>> pad_number = len("this_string")
11
>>> s = f"{1:0{pad_number}}" }
>>> s
'00000000001'
也可以:
h = 2
m = 7
s = 3
print("%02d:%02d:%02d" % (h, m, s))
因此输出将为:“02:07:03”
对于那些来这里理解而不仅仅是快速回答的人来说。我特别针对时间字符串:
hour = 4
minute = 3
"{:0>2}:{:0>2}".format(hour,minute)
# prints 04:03
"{:0>3}:{:0>5}".format(hour,minute)
# prints '004:00003'
"{:0<3}:{:0<5}".format(hour,minute)
# prints '400:30000'
"{:$<3}:{:#<5}".format(hour,minute)
# prints '4$$:3####'
“0”符号替换为“2”填充字符,默认值为空白“>”符号表示字符串左侧的所有2“0”字符“:”符号format_spec
对于数字:
i = 12
print(f"{i:05d}")
输出
00012
width = 10
x = 5
print "%0*d" % (width, x)
> 0000000005
有关所有令人兴奋的详细信息,请参阅打印文档!
Python 3.x更新(7.5年后)
最后一行现在应该是:
print("%0*d" % (width, x))
即print()现在是一个函数,而不是一个语句。注意,我仍然更喜欢Old School printf()风格,因为IMNSHO,它读起来更好,而且,嗯,我从1980年1月起就一直使用这种符号。某物老狗。。一些东西。。。新技巧。