python之字符串中有关%d,%2d,%02d的问题

python之字符串中有关%d,%2d,%02d的问题

在python中,通过使用%,实现格式化字符串的目的。(这与c语言一致)

其中,在格式化整数和浮点数时可以指定是否补0和整数与小数的位数。

首先,引入一个场宽的概念。

在C语言中场宽代表格式化输出字符的宽度。

  例如:

  可以在"%"和字母之间插进数字表示最大场宽。

  %3d 表示输出3位整型数,不够3位右对齐

  %9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。 (注意:小数点前的数字必须大于小数点后的数字。小数点前的数值规定了打印的数字的总宽度。如果忽略了(如:.2f),则意味着总宽度无限制。)

  %8s 表示输出8个字符的字符串,不够8个字符右对齐。

%d的输出结果:

In [75]: for i in range(0,10):
...: print(‘%d‘ %i)
...:
0
1
2
3
4
5
6
7
8
9

%2d的输出结果:(场宽为2,右对齐)

In [76]: for i in range(0,10):
...: print(‘%2d‘ %i)
...:
...:
0
1
2
3
4
5
6
7
8
9

%02d的输出结果:(补0)

In [77]: for i in range(0,10):
...: print(‘%02d‘ %i)
...:
...:
...:
00
01
02
03
04
05
06
07
08
09

%.2d的输出结果:

In [78]: for i in range(0,10):
...: print(‘%.2d‘ %i)
...:
00
01
02
03
04
05
06
07
08
09
上一篇:java8 查找字符串中首次出现2次的字母


下一篇:OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数