JAVA字符串格式化-String.format()的使用

String類的format()方法用於創建格式化的字符串以及連接多個字符串對象。熟悉C語言的同學應該記得C語言的sprintf()方法,兩者有類似之處。format()方法有兩種重載形式。

format(String format, Object… args) 新字符串使用本地語言環境,制定字符串格式和參數生成格式化的新字符串。

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

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

轉換符 說明 示 例
%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代表不同的日期與時間轉換符
    public static void main(String[] args) {
        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("字母a的大寫是:%c %n", 'A');
        System.out.printf("3>7的結果是:%b %n", 3>7);
        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');
    }
發佈了53 篇原創文章 · 獲贊 9 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章