关于此主题有很多现有帖子,但我无法让这段简单的代码正常工作。我已多次尝试但没有成功......
per = 5
if per < 10 == True:
ms = 'fwd_%sd' % str(per).zfill(2)
else:
ms = 'fwd_%sd' % per
和
if per < 10 == True:
a = format(per, 'fwd_02d')
else:
a = 'fwd_%sd' % per
结果应该是&#39; fwd_05d&#39;但我只能得到&#39; fwd_5d&#39;。
其中,我见过:
Display number with leading zeros
请帮忙!
答案 0 :(得分:2)
你可以使用str.format,如果你实际上什么都不做,只是填充只是使用ms = 'fwd_{:02}d'.format(per)
并忘记if / else,只有小于10的数字将用0填充。{{0} 1}}是要填充的内容,2是要填充的大小。
{:02}
另一方面,ms = 'fwd_{:02}d'.format(per)
与if per < 10 == True:
答案 1 :(得分:0)
您可以创建一个临时str变量,检查是否小于10,如果需要,可以在前面添加零。此外,您不应该有if语句,然后检查它是否等于true。它是多余的,使您的代码可读性降低。
per = 5
if per < 10:
perStr = '0' + str(per)
print('fwd_' + perStr + 'd')