printf 格式
轉 換 符
|
說 明
|
示 例
|
%s
|
字符串類型
|
"mingrisoft"
|
%c
|
字符類型
|
'm'
|
%b
|
布爾類型
|
true
|
%d
|
整數類型(十進制)
|
99
|
%x
|
整數類型(十六進制)
|
FF
|
%o
|
整數類型(八進制)
|
77
|
%f
|
浮點類型
|
99.99
|
%a
|
十六進制浮點類型
|
FF.35AE
|
%e
|
指數類型
|
9.38e+5
|
%g
|
通用浮點類型(f和e類型中較短的)
| |
%h
|
散列碼
| |
%%
|
百分比類型
|
%
|
%n
|
換行符
| |
%tx
|
日期與時間類型(x代表不同的日期與時間轉換符
|
表 3.1 常用格式控制字元
控制字元 | 作用 |
---|---|
\\ | 反斜線 |
\' | 單引號' |
\" | 雙引號" |
\uxxxx | 以 16 進位數指定 Unicode 字元輸出 |
\xxx | 以 8 進位數指定 Unicode 字元輸出 |
\b | 倒退一個字元 |
\f | 換頁 |
\n | 換行 |
\r | 游標移至行首 |
\t | 跳格(一個Tab鍵) |
標 志
|
說 明
|
示 例
|
結 果
|
+
|
為正數或者負數添加符號
|
("%+d",15)
|
+15
|
−
|
左對齊
|
("%-5d",15)
|
|15 |
|
0
|
數字前面補0
|
("%04d", 99)
|
0099
|
空格
|
在整數之前添加指定數量的空格
|
("% 4d", 99)
|
| 99|
|
,
|
以“,”對數字分組
|
("%,f", 9999.99)
|
9,999.990000
|
(
|
使用括號包含負數
|
("%(f", -99.99)
|
(99.990000)
|
#
|
如果是浮點數則包含小數點,如果是16進制或8進制則添加0x或0
|
("%#x", 99)
("%#o", 99)
|
0x63
0143
|
<
|
格式化前一個轉換符所描述的參數
|
("%f和%<3.2f", 99.45)
|
99.450000和99.45
|
$
|
被格式化的參數索引
|
("%1$d,%2$s", 99,"abc")
|
99,abc
|
輸出結果
日期和事件字符串格式化
在程序界面中經常需要顯示時間和日期,但是其顯示的 格式經常不盡人意,需要編寫大量的代碼經過各種算法才得到理想的日期與時間格式。字符串格式中還有%tx轉換符沒有詳細介紹,它是專門用來格式化日期和時 間的。%tx轉換符中的x代表另外的處理日期和時間格式的轉換符,它們的組合能夠將日期和時間格式化成多種格式。
常見日期和時間組合的格式,如圖所示。
轉 換 符
|
說 明
|
示 例
|
c
|
包括全部日期和時間信息
|
星期六 十月 27 14:21:20 CST 2007
|
F
|
“年-月-日”格式
|
2007-10-27
|
D
|
“月/日/年”格式
|
10/27/07
|
r
|
“HH:MM:SS PM”格式(12時制)
|
02:25:51 下午
|
T
|
“HH:MM:SS”格式(24時制)
|
14:28:16
|
R
|
“HH:MM”格式(24時制)
|
14:28
|
輸出結果
輸出結果
轉 換 符
|
說 明
|
示 例
|
H
|
2位數字24時制的小時(不足2位前面補0)
|
15
|
I
|
2位數字12時制的小時(不足2位前面補0)
|
03
|
k
|
2位數字24時制的小時(前面不補0)
|
15
|
l
|
2位數字12時制的小時(前面不補0)
|
3
|
M
|
2位數字的分鐘(不足2位前面補0)
|
03
|
S
|
2位數字的秒(不足2位前面補0)
|
09
|
L
|
3位數字的毫秒(不足3位前面補0)
|
015
|
N
|
9位數字的毫秒數(不足9位前面補0)
|
562000000
|
p
|
小寫字母的上午或下午標記
|
中:下午
英:pm
|
z
|
相對於GMT的RFC822時區的偏移量
|
+0800
|
Z
|
時區縮寫字符串
|
CST
|
s
|
1970-1-1 00:00:00 到現在所經過的秒數
|
1193468128
|
Q
|
1970-1-1 00:00:00 到現在所經過的毫秒數
|
1193468128984
|
測試代碼
輸出結果