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