python 3.4字符串操作 - 截断前导零

时间:2015-06-09 18:04:15

标签: python string python-3.x zero truncation

关于此主题有很多现有帖子,但我无法让这段简单的代码正常工作。我已多次尝试但没有成功......

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

Add leading zero python

请帮忙!

2 个答案:

答案 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')