首頁 > Java > Java基礎 > String.format用法是什麼

String.format用法是什麼

coldplay.xixi
發布: 2020-10-29 16:11:48
原創
9083 人瀏覽過

string.format用法:1、新字串使用本機語言環境,制定字串格式和參數生成格式化的新字串;2、使用指定的語言環境,制定字串格式和參數生成格式化的字串。

String.format用法是什麼

string.format用法:

#String.format()字串常規類型格式化的兩個重載方式

  • format(String format, Object… args) 新字串使用本機語言環境,制定字串格式和參數產生格式化的新字串。
  • format(Locale locale, String format, Object… args) 使用指定的語言環境,制定字串格式和參數產生格式化的字串。

上個栗子有用到了字元型別和整數型別的格式化下面我把常用的型別範例舉出來

##%b布林類型true%d#整數型別(十進位)88%x整數型別(十六進位)FF#%o整數型別(八進位)77%f浮點型別8.888.% a十六進位浮點型別FF.35AE#%e指數型別9.38 e 5%g通用浮點型別(f和e型別中較短的)不舉例(基本上用不到)%h散列碼不舉例(基本上用不到)%% 百分比類型%(%特殊字元%%才能顯示%)#%n換行符號不舉例(基本上用不到)%tx#日期與時間類型(x代表不同的日期與時間轉換符號)不舉例(基本上用不到)
轉換符 詳細說明 範例
#%s 字串類型 「喜歡請收藏」
%c 字元類型 'm'
為了方便理解還是舉例

String str=null;  
    str=String.format("Hi,%s", "小超");  
    System.out.println(str);  
    str=String.format("Hi,%s %s %s", "小超","是个","大帅哥");            
    System.out.println(str);                           
    System.out.printf("字母c的大写是:%c %n", 'C');  
    System.out.printf("布尔结果是:%b %n", "小超".equal("帅哥"));  
    System.out.printf("100的一半是:%d %n", 100/2);  
    System.out.printf("100的16进制数是:%x %n", 100);  
    System.out.printf("100的8进制数是:%o %n", 100);  
    System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);  
    System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);  
    System.out.printf("上面价格的指数表示:%e %n", 50*0.85);  
    System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);  
    System.out.printf("上面的折扣是%d%% %n", 85);  
    System.out.printf("字母A的散列码是:%h %n", 'A');
登入後複製

輸出結果

Hi,小超 
Hi,小超 是个 大帅哥  
字母c的大写是:C   
布尔的结果是:false   100的一半是:50   100的16进制数是:64   100的8进制数是:144   50元的书打8.5折扣是:42.500000 元  
上面价格的16进制数是:0x1.54p5   
上面价格的指数表示:4.250000e+01   上面价格的指数和浮点数结果的长度较短的是:42.5000   上面的折扣是85%   字母A的散列码是:41
登入後複製

搭配轉換符還有實現高級功能第一個例子中有用到$

##說明範例結果為正數或負數加上符號(“% d”,15) 150數字前面補0(加密常用)(“ d”, 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.45d,% 2$s”, 99,”abc”)99,abc  
標誌
第一個例子中有說到%tx x代表日期轉換符我也順便列舉下日期轉換符

標誌cFD#r#TR
##說明 範例
包括全部日期和時間資訊 星期六十月27 14:21:20 CST 2007
「年-月-日」格式 2007-10-27
#「月/日/年」格式 10/27/07
「HH:MM:SS PM」格式( 12時制) 02:25:51 下午
「HH:MM:SS」格式(24時制) 14:28:16
「HH:MM」格式(24時制) #14:28
來個範例方便理解

Date date=new Date();                                  
    //c的使用  
    System.out.printf("全部日期和时间信息:%tc%n",date);          
    //f的使用  
    System.out.printf("年-月-日格式:%tF%n",date);  
    //d的使用  
    System.out.printf("月/日/年格式:%tD%n",date);  
    //r的使用  
    System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);  
    //t的使用  
    System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);  
    //R的使用  
    System.out.printf("HH:MM格式(24时制):%tR",date);
登入後複製

輸出結果
全部日期和时间信息:星期三 九月 21 22:43:36 CST 2016  年-月-日格式:2016-09-21月/日/年格式:16/10/21  HH:MM:SS PM格式(12时制):10:43:36 下午  
HH:MM:SS格式(24时制):22:43:36  HH:MM格式(24时制):22:43
登入後複製

相關學習推薦:

java基礎教學

以上是String.format用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板