常規類型的格式化
String類的format()方法用于創建格式化的字符串和連接多個字符串對象。熟習C語言的同學應當記得C語言的sprintf()方法,二者有類似的地方。format()方法有兩種重載情勢。
format(String format, Object... args) 新字符串使用本地語言環境,制定字符串格式和參數生成格式化的新字符串。
format(Locale locale, String format, Object... args) 使用指定的語言環境,制定字符串格式和參數生成格式化的字符串。
顯示不同轉換符實現不同數據類型到字符串的轉換,如圖所示。
轉 換 符 |
說 明 |
示 例 |
%s |
字符串類型 |
"mingrisoft" |
%c |
字符類型 |
'm' |
%b |
布爾類型 |
true |
%d |
整數類型(10進制) |
99 |
%x |
整數類型(106進制) |
FF |
%o |
整數類型(8進制) |
77 |
%f |
浮點類型 |
99.99 |
%a |
106進制浮點類型 |
FF.35AE |
%e |
指數類型 |
9.38e+5 |
%g |
通用浮點類型(f和e類型中較短的) |
|
%h |
散列碼 |
|
%% |
百分比類型 |
% |
%n |
換行符 |
|
%tx |
日期與時間類型(x代表不同的日期與時間轉換符 |
標 志 |
說 明 |
示 例 |
結 果 |
+ |
為正數或負數添加符號 |
("%+d",15) |
+15 |
? |
左對齊 |
("%⑸d",15) |
|15 | |
0 |
數字前面補0 |
("%04d", 99) |
0099 |
空格 |
在整數之前添加指定數量的空格 |
("% 4d", 99) |
| 99| |
, |
以“,”對數字分組 |
("%,f", 9999.99) |
9,999.990000 |
( |
使用括號包括負數 |
("%(f", ⑼9.99) |
(99.990000) |
# |
如果是浮點數則包括小數點,如果是16進制或8進制則添加0x或0 |
("%#x", 99) ("%#o", 99) |
0x63 0143 |
< |
格式化前1個轉換符所描寫的參數 |
("%f和%<3.2f", 99.45) |
99.450000和99.45 |
$ |
被格式化的參數索引 |
("%1$d,%2$s", 99,"abc") |
99,abc |
在程序界面中常常需要顯示時間和日期,但是其顯示的 格式常常不盡人意,需要編寫大量的代碼經過各種算法才得到理想的日期與時間格式。字符串格式中還有%tx轉換符沒有詳細介紹,它是專門用來格式化日期和時 間的。%tx轉換符中的x代表另外的處理日期和時間格式的轉換符,它們的組合能夠將日期和時間格式化成多種格式。
常見日期和時間組合的格式,如圖所示。
轉 換 符 |
說 明 |
示 例 |
c |
包括全部日期和時間信息 |
星期6 10月 27 14:21:20 CST 2007 |
F |
“年-月-日”格式 |
2007⑴0⑵7 |
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 |