国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

JAVA String.format方法使用介紹

來(lái)源:北大青鳥(niǎo)飛迅校區(qū)|發(fā)布時(shí)間:2013-05-02 09:30:53

  在JDK1.5中,String類(lèi)增加了一個(gè)非常有用的靜態(tài)函數(shù)format(String format, Objece... argues),可以將各類(lèi)數(shù)據(jù)格式化為字符串并輸出。其中format參數(shù)指定了輸出的格式,是最復(fù)雜也是最難掌握的一點(diǎn),而argues則是一系列等 待被格式化的對(duì)象。該函數(shù)對(duì)c語(yǔ)言中printf函數(shù)的用法進(jìn)行了一定的模仿,因此有c語(yǔ)言基礎(chǔ)的人學(xué)起來(lái)會(huì)輕松許多。下面我們著重討論一下format 參數(shù)的格式及含義。

  format參數(shù)中可以包含不需要轉(zhuǎn)化的字符串,這些字符串是你寫(xiě)什么,最終就輸出什么。同時(shí)還包含一些特殊格式的內(nèi)容,來(lái)指定將哪個(gè)對(duì)象來(lái)轉(zhuǎn)換,以及轉(zhuǎn) 換成什么形式。這種特殊的格式通通以%index$開(kāi)頭,index從1開(kāi)始取值,表示將第index個(gè)參數(shù)拿進(jìn)來(lái)進(jìn)行格式化。這一點(diǎn)比c語(yǔ)言要強(qiáng)一點(diǎn), c語(yǔ)言只能按照參數(shù)的順序依次格式化,而java可以選擇第n個(gè)參數(shù)來(lái)格式化。由于該函數(shù)可以對(duì)任意一個(gè)對(duì)象進(jìn)行格式化,不同的對(duì)象適用的參數(shù)也不同,因 此我們下面分類(lèi)來(lái)討論。

  1.對(duì)整數(shù)進(jìn)行格式化:%[index$][標(biāo)識(shí)][最小寬度]轉(zhuǎn)換方式

  我們可以看到,格式化字符串由4部分組成,其中%[index$]的含義我們上面已經(jīng)講過(guò),[最小寬度]的含義也很好理解,就是最終該整數(shù)轉(zhuǎn)化的字符串最少包含多少位數(shù)字。我們來(lái)看看剩下2個(gè)部分的含義吧:

  標(biāo)識(shí):

  '-' 在最小寬度內(nèi)左對(duì)齊,不可以與“用0填充”同時(shí)使用

  '#' 只適用于8進(jìn)制和16進(jìn)制,8進(jìn)制時(shí)在結(jié)果前面增加一個(gè)0,16進(jìn)制時(shí)在結(jié)果前面增加0x

  '+' 結(jié)果總是包括一個(gè)符號(hào)(一般情況下只適用于10進(jìn)制,若對(duì)象為BigInteger才可以用于8進(jìn)制和16進(jìn)制)

  ' ' 正值前加空格,負(fù)值前加負(fù)號(hào)(一般情況下只適用于10進(jìn)制,若對(duì)象為BigInteger才可以用于8進(jìn)制和16進(jìn)制)

  '0' 結(jié)果將用零來(lái)填充

  ',' 只適用于10進(jìn)制,每3位數(shù)字之間用“,”分隔

  '(' 若參數(shù)是負(fù)數(shù),則結(jié)果中不添加負(fù)號(hào)而是用圓括號(hào)把數(shù)字括起來(lái)(同‘+’具有同樣的限制)

  轉(zhuǎn)換方式:

  d-十進(jìn)制 o-八進(jìn)制 x或X-十六進(jìn)制

  上面的說(shuō)明過(guò)于枯燥,我們來(lái)看幾個(gè)具體的例子。需要特別注意的一點(diǎn)是:大部分標(biāo)識(shí)字符可以同時(shí)使用。

  System.out.println(String.format("%1$,09d", -3123));

  System.out.println(String.format("%1$9d", -31));

  System.out.println(String.format("%1$-9d", -31));

  System.out.println(String.format("%1$(9d", -31));

  System.out.println(String.format("%1$#9x", 5689));

  //結(jié)果為:

  //-0003,123

  // -31

  //-31

  // (31)

  // 0x1639

  2.對(duì)浮點(diǎn)數(shù)進(jìn)行格式化:%[index$][標(biāo)識(shí)][最少寬度][.精度]轉(zhuǎn)換方式

  我們可以看到,浮點(diǎn)數(shù)的轉(zhuǎn)換多了一個(gè)“精度”選項(xiàng),可以控制小數(shù)點(diǎn)后面的位數(shù)。

上一篇:幾道Java EE面試題分享
下一篇:Java Spring簡(jiǎn)單實(shí)現(xiàn)郵件發(fā)送

熱門(mén)話(huà)題

招生熱線(xiàn): 4008-0731-86 / 0731-82186801

學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號(hào)-3

關(guān)注我們
在線(xiàn)咨詢(xún)
嘿,我來(lái)幫您!