添加前导零 Python [重复]

Posted

技术标签:

【中文标题】添加前导零 Python [重复]【英文标题】:Add leading Zero Python [duplicate] 【发布时间】:2014-03-04 10:37:58 【问题描述】:

我想知道当数字唱歌时是否有人可以帮我在这个现有字符串中添加前导零(例如 1-9)。这是字符串:

str(int(length)/1440/60)

【问题讨论】:

多少个前导零? 只有一个。所以数字将是 01、02 等。 // ,这不是重复的,因为这指的是实际更改变量的值,而不仅仅是以不同的方式显示它。区别很重要,因为只有***.com/questions/134934/… 的部分答案可以满足这一需求。 【参考方案1】:

使用formatstr.format,无需将数字转换为str

>>> format(1, '02')
'01'
>>> format(100, '02')
'100'

>>> ':02'.format(1)
'01'
>>> ':02'.format(100)
'100'

根据str.format 文档:

这种字符串格式化方法是 Python 3 中的新标准,并且 应该优先于 % 格式...

【讨论】:

但是如果我有一个像a = "abc" 这样的字符串,那么format(a, "05") 不起作用 @winklerrr,对于非数字,使用format(a, '>05') @winklerrr 该问题与原始问题无关。这个问题不是关于验证输入,而是关于修改当前数据。 @dmcoding 这就是我添加评论的原因(我直接得到了答案)。那么你的问题是什么?【参考方案2】:

我希望这是最简单的方法:

 >>> for i in range(1,15):
 ...     print '%0.2d' % i
 ...
 01
 02
 03
 04
 05
 06
 07
 08
 09     
 10
 11
 12
 13
 14
 >>>

【讨论】:

// ,他的问题是关于如何在实际变量中处理这个问题,而不仅仅是打印。 一般来说这是一个更好的答案。【参考方案3】:

你可以使用内置的str.zfill方法,像这样

my_string = "1"
print my_string.zfill(2)   # Prints 01

my_string = "1000"
print my_string.zfill(2)   # Prints 1000

来自文档,

返回一个长度为 0 的数字字符串 宽度。正确处理符号前缀。原始字符串是 如果宽度小于或等于 len(s),则返回。

因此,如果实际字符串的长度大于指定的宽度(传递给zfill 的参数),则字符串按原样返回。

【讨论】:

太好了。如果您只需要单个数字的尾随 0,str.zfill() 只会添加到那些实际上是单个数字的数字。例如,7 变为 07,但 10 将保持 10 而不会变为 010。

以上是关于添加前导零 Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python使用string.format添加前导零[重复]

相对于输入数字动态添加前导零[重复]

将前导零添加到 Spark 数据框中的列 [重复]

R如何添加前导零而不是空格[重复]

PHP在单个数字之前添加前导零,即时[重复]

如何在Java(Android)中使用getMonth添加前导零[重复]