天天看點

Java魔法堂:String.format詳解-

  目錄                              

    一、前言

    二、重載方法

    三、占位符

    四、對字元、字元串進行格式化

    五、對整數進行格式化

    六、對浮點數進行格式化

    七、對日期時間進行格式化

    八、其他轉換符

    九、總結

    參考

一、前言                            

   string.format 作為文本處理工具,為我們提供強大而豐富的字元串格式化功能,為了不止步于簡單調用 string.format("hello %s", "john");

,下面将筆記整理并記錄下來。

二、重載方法                          

三、占位符                                   

  占位符完整格式為: %[index$][辨別]*[最小寬度][.精度]轉換符 。

  針對不同資料類型的格式化,占位符的格式将有所裁剪。

  % ,占位符的其實字元,若要在占位符内部使用%,則需要寫成 %% 。

  [index$] ,位置索引從1開始計算,用于指定對索引相應的實參進行格式化并替換掉該占位符。

  [辨別] ,用于增強格式化能力,可同時使用多個 [辨別] ,但某些辨別是不能同時使用的。

  [最小寬度] ,用于設定格式化後的字元串最小長度,若使用 [最小寬度] 而無設定 [辨別] ,那麼當字元串長度小于最小寬度時,則以左邊補空格的方式湊夠最小寬度。

  [.精度] ,對于浮點數類型格式化使用,設定保留小數點後多少位。

  轉換符 ,用于指定格式化的樣式,和限制對應入參的資料類型。

  占位符格式為: %[index$][辨別][最小寬度]轉換符 

  示例——将"hello"格式化為"  hello"

  示例——将"hello"格式化為"hello  "

可用辨別:

   -,在最小寬度内左對齊,右邊用空格補上。

可用轉換符:

   s,字元串類型。

   c,字元類型,實參必須為char或int、short等可轉換為char類型的資料類型,否則抛illegalformatconversionexception異常。

   b,布爾類型,隻要實參為非false的布爾類型,均格式化為字元串true,否則為字元串false。

   n,平台獨立的換行符(與通過 system.getproperty("line.separator") 是一樣的)

  占位符格式為: %[index$][辨別]*[最小寬度]轉換符 

  示例——将1顯示為0001

  示例——将-1000顯示為(1,000)

六、對浮點數進行格式化                        

   占位符格式為: %[index$][辨別]*[最小寬度][.精度]轉換符 

   示例:

七、對日期時間進行格式化                      

   占位符格式為: %[index$]t轉換符 

可用轉換符

  1. 日期的轉換符

  2. 時間的轉換符

<b></b>

八、其他轉換符                          

 &lt;,用于格式化前一個轉換符所描述的參數。

 示例:

九、總結                              

  暫時寫到這裡吧,以後用到其他的再補充上去!