📅  最后修改于: 2023-12-03 15:23:33.310000             🧑  作者: Mango
在日常开发中,我们经常需要把数字输出成字符串,如果输出的数字不足指定位数,就需要在数字前面(或后面)填充零。例如,把 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()
方法可以更加灵活地指定要填充零的位数。具体用法如下:
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()
方法,都非常简单易懂。如果您对这个话题还有疑问,欢迎在评论区留言。