📜  保留前导零 python (1)

📅  最后修改于: 2023-12-03 15:36:43.016000             🧑  作者: Mango

保留前导零 Python

在 Python 中,处理数字时,如果数字长度不足,Python 默认会去除数字前的零,这在一些场景下可能会有问题,比如在时间格式中,需要保留前导零以满足格式要求,但是 Python 默认去除前导零。

保留前导零

有多种方法可以在 Python 中保留数字前的零。

使用字符串格式化方法

可以使用字符串的 .format() 方法格式化数字并保留前导零,方法如下:

# 保留前导零
number = 5
print('{:02d}'.format(number)) # 输出 05

# 不保留前导零
number = 15
print('{:d}'.format(number)) # 输出 15

在格式化字符串的标识符中使用 0 就可以在数字前补零,2 表示数字占两位,如果数字不足两位,就用 0 补齐。

使用字符串 zfill 方法

另一个方法是使用字符串的 zfill() 方法,方法如下:

# 保留前导零
number = '5'
print(number.zfill(2)) # 输出 05

# 不保留前导零
number = '15'
print(number.zfill(2)) # 输出 15

使用 zfill() 方法可以将字符串格式的数字前补零,参数表示字符串的总长度,如果字符串长度不足,就在前面用 0 补齐。

自定义函数实现

还可以自定义函数实现保留前导零的功能,方法如下:

# 自定义函数保留前导零
def add_zero(number, total_length=2):
    """ 数字前补零 """
    format_string = '{:0' + str(total_length) + 'd}'
    return format_string.format(number)

number = 5
print(add_zero(number)) # 输出 05

number = 15
print(add_zero(number)) # 输出 15

自定义函数 add_zero() 中使用了字符串格式化方法,根据参数 total_length 指定补零后的总长度,并将数字和长度格式化为字符串。

结论

以上是三种保留前导零的方法,在实际开发中根据需要选择使用就可以了。保留前导零可以解决一些特定场景下的需求,如需要按照固定格式输出时间等。