選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Java 教程

Java HOME Java Intro Java Get Started Java Syntax Java Output Java Comments Java Variables Java Data Types Java Type Casting Java Operators Java Strings Java Math Java Booleans Java If...Else Java Switch Java While Loop Java For Loop Java Break/Continue Java Arrays

Java Methods

Java Methods Java Method Parameters Java Method Overloading Java Scope Java Recursion

Java Classes

Java OOP Java Classes/Objects Java Class Attributes Java Class Methods Java Constructors Java Modifiers Java Encapsulation Java Packages / API Java Inheritance Java Polymorphism Java Inner Classes Java Abstraction Java Interface Java Enums Java User Input Java Date Java ArrayList Java LinkedList Java List Sorting Java HashMap Java HashSet Java Iterator Java Wrapper Classes Java Exceptions Java RegEx Java Threads Java Lambda Java Advanced Sorting

Java File Handling

Java Files Java Create/Write Files Java Read Files Java Delete Files

Java How To's

Add Two Numbers Count Words Reverse a String Sum of Array Elements Convert String to Array Sort an Array Find Array Average Find Smallest Element ArrayList Loop HashMap Loop Loop Through an Enum Area of Rectangle Even or Odd Number Positive or Negative Square Root Random Number

Java 參考

Java Reference Java Keywords Java String Methods Java Math Methods Java Output Methods Java Arrays Methods Java ArrayList Methods Java LinkedList Methods Java HashMap Methods Java Scanner Methods Java Iterator Methods Java Errors & Exceptions

Java 示例

Java Examples Java Compiler Java Exercises Java Quiz Java Server Java Certificate


Java String format() Method

❮ String Methods


示例

返回格式化字串

String myStr = "Hello %s! One kilobyte is %,d bytes.";
String result = String.format(myStr, "World", 1024);
System.out.println(result);

自己動手試一試 »

注意: 你可以在頁面底部找到更多“動手試試”的示例。


定義和用法

format() 方法使用指定的區域設定、格式和附加引數返回一個格式化的字串。

如果未將區域設定傳遞給此方法,則使用 Locale.getDefault() 提供的區域設定。

來自附加引數的資料將被格式化並寫入格式字串中的佔位符,這些佔位符以 % 符號標記。引數的格式方式取決於 % 符號後面的字元序列。

佔位符

佔位符的形式為 %[arg$][flags][width][.precision]conversion。方括號中的部分是可選的。

每個元件的解釋

  • arg$ - 可選。後跟 $ 符號的數字,表示要使用哪個附加引數,引數編號從 1 開始。這可以替換為 <,表示使用前一個佔位符的引數。
  • flags - 可選。以下任意字元的序列
    • - - 使輸出左對齊,透過在右側新增填充空格而不是左側。
    • # - 根據轉換顯示格式化資料的備用表示形式。
    • + - 使正數始終以 "+" 作為字首。
    • - (一個空格字元) 在正數前加上空格,主要目的是使數字能夠與負數對齊。
    • 0 - 用零填充數字的左側。
    • , - 對數字進行分組(例如按千位)並在組之間放置分隔符。這受區域設定的影響。
    • ( - 用括號括住負數。
  • width - 可選。一個整數,指定輸出應占用的最小字元數。如有必要,會在右側新增空格以達到此數字,如果使用了 - 標誌,則會在左側新增空格。
  • .precision 可選。一個 . 後跟一個整數,表示在格式化資料中應顯示的小數位數。
  • conversion - 必需。一個字元,指示如何表示引數的資料。如果字元是大寫,則資料將盡可能以大寫形式格式化。表中列出了可能的字元。

轉換列表

字元 轉換 描述
% 百分比 在輸出中顯示文字 "%" 字元。
n 換行 在輸出中顯示換行符。
bB 布林值 顯示布林值的字串表示形式 "true" 或 "false"。如果使用 "B",則顯示 "TRUE" 或 "FALSE"。
hH 無符號十六進位制整數 將引數的二進位制資料表示為無符號十六進位制整數。如果使用 "H",則數字 A 到 F 以大寫形式顯示。

注意: 對於正整數以外的任何資料,這並不表示其真實值。

sS 字串 顯示引數的預設字串表示形式。如果使用 "S",則字串將盡可能轉換為大寫。
cC Unicode 字元 顯示引數的 Unicode 字元表示形式。對於整數,這是與數字對應的 Unicode 字元。如果使用 "C",則字元將盡可能轉換為大寫。
d 十進位制整數 將整數表示為十進位制整數。
o 八進位制整數 將整數表示為八進位制整數。 "#" 標誌將用 "0" 作為字首。
xX 十六進位制整數 將整數表示為十六進位制整數。 "#" 標誌將用 "0x" 作為字首。如果使用 "X",則數字 A 到 F 以及字母 X 將以大寫形式顯示。
eE 科學計數法 將浮點數表示為科學計數法。如果使用 "E",則表示中的字母 "E" 將為大寫。 "#" 標誌即使在沒有小數位數的情況下也會強制使用小數點。
f 浮點數 表示一個浮點數。 "#" 標誌即使在沒有小數位數的情況下也會強制使用小數點。
gG 通用數字 顯示浮點數的 feE 之間的最短表示形式。
aA 十六進位制浮點數 顯示浮點數的內部表示,帶有十六進位制數字。
tT 時間或日期 顯示格式化的日期或時間。 t 或 T 必須後跟一個額外的字元,指示日期或時間應如何格式化。如果使用 "T",則日期或時間中的文字部分(例如 "JANUARY")將為大寫。

以下字元可用於日期和時間格式化

  • H - 小時(24 小時制)的表示(00 到 23)
  • I - 小時(12小時制,01 到 12)
  • k - 小時(24小時制,0 到 23)
  • l (小寫 'L') - 小時(12小時制,1 到 12)
  • M - 分鐘(帶前導零,00 到 59)
  • S - 秒(帶前導零,00 到 59)(對於閏秒,值可能為 60)
  • L - 毫秒(帶前導零,000 到 999)
  • N - 納秒(帶前導零,000000000 到 999999999)
  • p - "am", "pm", "AM" 或 "PM",表示上午或下午
  • z - 與格林威治時間的時差(例如:-0800)
  • Z - 時區縮寫(例如:EST, MDT)
  • s - 自 Unix 紀元(1970年1月1日 00:00:00 GMT)以來的秒數
  • Q - 自 Unix 紀元(1970年1月1日 00:00:00 GMT)以來的毫秒數
  • B - 月份的完整文字表示(一月到十二月)
  • b 或 h - 月份的簡短文字表示(三個字母)
  • A - 一週中某天的完整文字表示(例如:Monday)
  • a - 一週中某天的簡短文字表示(例如:Mon)
  • C - 年份的前兩位數字(例如:1970 年顯示 "19")
  • Y - 四位數的年份表示
  • y - 兩位數的年份表示
  • j - 一年中的第幾天(帶前導零,001 到 366)
  • m - 月份的數字表示(01 到 12)
  • d - 月份的第幾天(01 到 31)
  • e - 月份的第幾天(不帶前導零,1 到 31)
  • R - 24 小時制的時間(例如:21:30)
  • T - 24 小時制的時間(帶秒,例如:21:30:02)
  • r - 12 小時制的時間(帶秒,例如:09:30:02 PM)("AM" 和 "PM" 始終為大寫)
  • D - 月/日/年的日期表示(例如:12/17/23)
  • F - 年-月-日的日期表示(例如:2023-12-17)
  • c - 完整的日期和時間(例如:Thu Mar 28 10:51:00 EDT 2024)

語法

以下之一

public static String format(Locale locale, String format, Object... args)
public static String format(String format, Object... args)

引數值

引數 描述
locale 可選。用於確定某些格式的區域設定,例如用於小數點和分組分隔符的字元。
format 必需。要返回的字串,其中可以包含佔位符,用於指示如何格式化附加引數。
args 可選。任意數量的附加引數,它們的值可以被格式化並顯示在返回的字串中。

技術詳情

返回 使用指定區域設定、格式和引數格式化的 String 值。
丟擲 IllegalFormatException - 如果格式字串包含無效的佔位符,或者佔位符與引數的資料型別不相容。
Java 版本 1.5

更多示例

示例

使用所有元件的佔位符

String result = String.format("%2$,3.2f %1$s", "meters", 1260.5052);
System.out.println(result);

這是佔位符 %2$,3.2f 的每個部分的含義

  • 2$ 表示使用第二個引數的值
  • , 表示數字應分組(通常按千位)
  • 3 表示資料的表示形式應至少為 3 個字元長
  • .2 表示小數點後應有兩個數字
  • f 表示資料表示為浮點數

自己動手試一試 »

示例

使用不同順序的引數

String result = String.format("%3$c %2$c %1$c", 'a', 'b', 'c');
System.out.println(result);

自己動手試一試 »

示例

格式化浮點數

double myNumber = 123456.78;
String result;

// Default
result = String.format("%f", myNumber);
System.out.println(result);

// Two decimal digits
result = String.format("%.2f", myNumber);
System.out.println(result);

// No decimal digits
result = String.format("%.0f", myNumber);
System.out.println(result);

// No decimal digits but keep the decimal point
result = String.format("%#.0f", myNumber);
System.out.println(result);

// Group digits
result = String.format("%,.2f", myNumber);
System.out.println(result);

// Scientific notation with two digits of precision
result = String.format("%.2e", myNumber);
System.out.println(result);

自己動手試一試 »

示例

格式化 Unix 時間戳的日期

long date = 1711638903488L; // Unix timestamp (number of milliseconds since January 1, 1970)
String result

// Time
result = String.format("%tl:%<tM %<tp", date);
System.out.println(result);

// Month and day
result = String.format("%tB %<te", date);
System.out.println(result);

// Full date representation
result = String.format("%tc", date);
System.out.println(result);

自己動手試一試 »

示例

從 Unicode 程式碼點表示字元

String result;

// Represent characters from their unicode code points
result = String.format("%c%c%c%c%c", 72, 101, 108, 108, 111);
System.out.println(result);

// Force unicode characters to uppercase
result = String.format("%C%C%C%C%C", 72, 101, 108, 108, 111);
System.out.println(result);

自己動手試一試 »


❮ String Methods
×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援