在 Python 中为数字添加前导零

要将前导零添加到数字:

  1. 使用 str() 类将数字转换为字符串。
  2. 使用 str.zfill() 方法将前导零添加到字符串。
  3. 该方法采用字符串的宽度并用前导零填充它。
num = 246


result_1 = str(num).zfill(5)
print(result_1)  # 👉️ '00246'

result_2 = str(num).zfill(6)
print(result_2)  # 👉️ '000246'

在 Python 中为数字添加前导零

我们使用 str() 类将数字转换为字符串。

这是必要的,因为向数字添加前导零会导致 SyntaxError

str.zfill 方法获取字符串的宽度并用 0 位向左填充字符串以使其具有指定的宽度。

num = 13


result_1 = str(num).zfill(3)
print(result_1)  # 👉️ '013'

result_2 = str(num).zfill(4)
print(result_2)  # 👉️ '0013'

将数字 13 转换为字符串会给我们一个长度为 2 的字符串。

将 3 作为宽度传递给 zfill() 方法,意味着字符串将被左填充单个 0 数字。

str.zfill() 方法通过在符号后插入填充来处理前导符号前缀(例如 + 或 -)。

num = -13


result_1 = str(num).zfill(3)
print(result_1)  # 👉️ '-13'

result_2 = str(num).zfill(4)
print(result_2)  # 👉️ '-013'

请注意,符号计入字符串的宽度。

如果指定的宽度小于或等于原始字符串的长度,则返回原始字符串。

num = 13


result_1 = str(num).zfill(2)
print(result_1)  # 👉️ '13'

result_2 = str(num).zfill(1)
print(result_2)  # 👉️ '13'

或者,我们可以使用格式化的字符串文字向数字添加前导零。

num = 13


result_1 = f'{num:04}'
print(result_1)  # 👉️ '0013'

result_2 = f'{num:05}'
print(result_2)  # 👉️ '00013'

冒号后的第一个数字是填充值,第二个是字符串的宽度。

我们不必使用 str() 类将整数转换为字符串,因为转换是自动为我们完成的。

格式化字符串文字(f-strings)让我们通过在字符串前面加上 f 来在字符串中包含表达式。

my_str = 'is subscribed:'

my_bool = True

result = f'{my_str} {my_bool}'

print(result)  # 👉️ is subscribed: True

确保将表达式包裹在花括号 – {expression} 中。

格式化的字符串文字还使我们能够在表达式块中使用格式规范迷你语言。