📜  在数字后面填充零python(1)

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

在数字后面填充零 Python

在日常开发中,我们经常需要把数字输出成字符串,如果输出的数字不足指定位数,就需要在数字前面(或后面)填充零。例如,把 3 输出成 "003", 把 123 输出成 "000123"。

在 Python 中,我们可以使用字符串格式化操作符 % 或者 str.format() 方法来实现这个功能。下面是两种方法的具体用法和示例。

使用字符串格式化操作符

使用字符串格式化操作符 % 可以实现在数字前面填充零。具体用法如下:

format_string % value

其中,format_string 是字符串格式,value 是要填充零的数字。

字符串格式中使用 % 和一个字母来指定要填充零的位数。常用的格式如下:

  • %d : 十进制整数
  • %02d: 两位十进制整数
  • %03d: 三位十进制整数
  • %04d: 四位十进制整数

以此类推。

下面是具体的示例代码:

value = 3
print("value = %03d" % value)  # 输出: value = 003

value = 123
print("value = %06d" % value)  # 输出: value = 000123
使用 str.format()

使用 str.format() 方法可以更加灵活地指定要填充零的位数。具体用法如下:

format_string.format(value)

其中,format_string 是字符串格式,value 是要填充零的数字。

字符串格式中使用 {} 和一个冒号来指定要填充零的位数。常用的格式如下:

  • {} : 默认格式
  • {0:02d}: 第一个参数,两位十进制整数
  • {1:03d}: 第二个参数,三位十进制整数
  • {2:04d}: 第三个参数,四位十进制整数

以此类推。

下面是具体的示例代码:

value1 = 3
value2 = 123
print("value1 = {:03d}, value2 = {:06d}".format(value1, value2))
# 输出: value1 = 003, value2 = 000123

print("value1 = {0:03d}, value2 = {1:06d}".format(value1, value2))
# 输出: value1 = 003, value2 = 000123

使用 str.format() 方法可以方便地指定多个参数,而且不需要按顺序填写。比如,填充多个数时,可以这样写:

value1 = 3
value2 = 12
value3 = 123
print("value1 = {:04d}, value2 = {:03d}, value3 = {:06d}".format(value1, value2, value3))
# 输出: value1 = 0003, value2 = 012, value3 = 000123

以上就是在 Python 中如何在数字后面填充零的方法。无论是使用字符串格式化操作符 % 还是 str.format() 方法,都非常简单易懂。如果您对这个话题还有疑问,欢迎在评论区留言。