String.format()用法


JDK1.5開始String類中提供了一個非常有用的方法String.format(String format, Object ... args)

查看源碼得知其實是調用了java.util.Formatter.format(String, Object...)方法

public static String format(String format, Object ... args) {
    return new Formatter().format(format, args).toString();
}

查看JDK文檔得知,String.format方法的第一個參數是有個公式可以套的

    %[argument_index$][flags][width][.precision]conversion

這里我們只要牢記這個公式就可以,下面說下每個顏色所代表的含義

argument_index: 可選,是一個十進制整數,用於表明參數在參數列表中的位置。第一個參數由 "1$" 引用,第二個參數由 "2$" 引用,依此類推。

flags: 可選,用來控制輸出格式

width: 可選,是一個正整數,表示輸出的最小長度

precision:可選,用來限定輸出字符數

conversion:必須,用來表示如何格式化參數的字符

 

顯示不同轉換符實現不同數據類型到字符串的轉換,如圖所示。

 

轉  換  符

說    明 

示    例

%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代表不同的日期與時間轉換符

 

 

 

搭配轉換符的標志,如圖所示。

 

 

標    志

說    明

示    例

結    果

+

為正數或者負數添加符號

("%+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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM