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
