JAVA String 格式化

這篇文章主要介紹 JAVA 中 Strings 的格式化,這個主要是用到 printf 這個函數,使咱們方便格式化複雜數據。html

1.使用 printf

public PrintStream printf(String format, Object... args);java

咱們來看下api的介紹:git

[warning]使用指定格式字符串和參數將格式化的字符串寫入此輸出流的便捷方法。 調用此方法的 out.printf(format, args) 形式,行爲與如下調用徹底相同: api

out.format(format, args)

參數: format - 在格式字符串的語法中描述的格式字符串 args - 格式字符串中的格式說明符引用的參數。若是參數多於格式說明符,則忽略額外的參數。參數的數量是可變的,而且可>覺得零。參數的最大數量受到 Java Virtual Machine Specification 定義的 Java 數組的最大維數的限制。針對 null >參數的行爲依賴於 conversion。 [/warning] 這裏咱們主要說的就是 format 了;數組

  • 常規類型、字符類型和數值類型的格式說明符的語法以下:
  • %[argument_index$][flags][width][.precision]conversion
  • 可選的 argument_index 是一個十進制整數,用於代表參數在參數列表中的位置。第一個參數由 "1$" 用,第二個參數由"2$" 引用,依此類推。
  • 可選 flags 是修改輸出格式的字符集。有效標誌集取決於轉換類型。
  • 可選 width 是一個非負十進制整數,代表要向輸出中寫入的最少字符數。
  • 可選 precision 是一個非負十進制整數,一般用來限制字符數。特定行爲取決於轉換類型。
  • 所需 conversion 是一個代表應該如何格式化參數的字符。給定參數的有效轉換集取決於參數的數據類型。

實例:函數

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("Integer : %d\n",15);
        System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123);
        System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123);

        System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435);
    }
}

輸出:code

Integer : 15 Floating point number with 3 decimal digits: 1.213 Floating point number with 8 decimal digits: 1.21312939 String: Hello World, integer: 89, float: 9.231435orm

2.格式化字符串String

  • %s : 直接輸出
  • %15s :輸出字符串,不夠15位的左邊空白字符串填充。
  • %-6s : 輸出字符串,不夠6位的右邊填充空白字符串。
  • %.8d : 最多輸出8位字符。htm

    package com.javacodegeeks.core.string;ip

    public class StringFromatExample {

    public static void main(String[] args) {
    
        System.out.printf("%-12s%-12s%s\n","Column 1","Column 2","Column3");
    
        System.out.printf("%-12.5s%s", "Hello World","World");
    }

    }

Column 1 Column 2 Column3 Hello World

3格式化整數字符串

%d :輸出整數。 %6d :輸出6位正數,不夠的左邊補空白 %-6d :輸出6位正數,不夠的右邊補空白 %06d : 輸出整數,位數不夠的補0填充 %.2d : 最多打印2位整數

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("%-12s%-12s%s\n","Column 1","Column 2","Column3");
        System.out.printf("%-12d%-12d%07d\n",15,12,5);
    }
}

Column 1 Column 2 Column3 15 12 0000005

格式化浮點數

%f : 直接輸出 %15f :輸出浮點數,不夠15位的用0補齊 %.8f : 最多輸出8位小數。 %9.4f : 最多輸出4位小數。若是不夠9位佔字符,填充空白

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("%-12s%-12s\n","Column 1","Column 2");

        System.out.printf("%-12.5f%.20f", 12.23429837482,9.10212023134);
    }

}

Column 1 Column 2 12.23430 9.10212023134000000000

相關文章
相關標籤/搜索