在Java中,我們經常需要將數據格式化為特定的字符串格式並進行輸出或者展示。String.format()方法提供了一種方便的方式來進行字符串格式化,對於Java程序員而言,String.format()是必知必會的常用工具之一,它可以將任何Java對象格式化為字符串。本文將詳細探討Java String.format()的常用格式,包括整數、浮點數、日期和時間等。
一、整數格式化
對於整數的格式化,我們可以指定一個格式化字符串,該字符串由百分號(%)來引領和結束,並且可以包含有以下的轉換標誌之一:
- %o: 以八進制字符串形式表示整數。
- %x: 以十六進制字符串形式表示整數。
- %d: 十進制整數形式。
- %s: 字符串形式。
- %c: 字符形式。
下面是幾個示例:
// 十進制整數形式 int num = 123; String str1 = String.format("%d", num); // "123" // 八進制整數形式 String str2 = String.format("%o", num); // "173" // 十六進制整數形式 String str3 = String.format("%x", num); // "7b" // 字符串形式 String str4 = String.format("%s", num); // "123"
二、浮點數格式化
對於浮點數的格式化,我們可以同樣指定一個格式化字符串,該字符串由百分號(%)來引領和結束,並且可以包含有以下的轉換標誌之一:
- %f: 十進制浮點數形式。
- %e: 科學計數法表示浮點數形式。
- %g: 通用浮點數表示,根據情況自動選用%e或%f。
下面是幾個示例:
// 十進制浮點數形式 double dbl = 123.456; String str5 = String.format("%f", dbl); // "123.456000" // 科學計數法表示浮點數形式 String str6 = String.format("%e", dbl); // "1.234560e+02" // 通用浮點數表示 String str7 = String.format("%g", dbl); // "123.456"
三、日期和時間格式化
對於日期和時間的格式化,我們同樣可以指定一個格式化字符串,並且可以包含有以下的轉換標誌之一:
- %tH: 時(00-23)。
- %tI: 時(01-12)。
- %tM: 分鐘(00-59)。
- %tS: 秒(00-59)。
- %tL: 毫秒數(000-999)。
- %tN: 納秒數(000000000-999999999)。
- %tp: 指示“上午”或“下午”。
- %tz: 時區(如Pacific Standard Time)。
- %tZ: 時區縮寫(如PST)。
- %tm: 月份(01-12)。
- %td: 一個月中的日期(01-31)。
- %ty: 年份(如2019)的最後兩位數字。
- %tY: 完整的年份,如“2019”而非“19”。
- %tj: 一年中的第幾天(001-366)。
- %tw: 一年中的第幾周(00-53)。
- %tW: 一月中的第幾周(00-53)。
下面是幾個示例:
// 完整時間日期表示 Date dt = new Date(); String str8 = String.format("%tc", dt); // "星期三 十月 23 14:02:23 CST 2019" // 僅日期表示 String str9 = String.format("%tF", dt); // "2019-10-23" // 僅時間表示 String str10 = String.format("%tT", dt); // "14:02:23" // 12小時製表示時間 String str11 = String.format("%tr", dt); // "02:02:23 下午"
結語
在Java中,String.format()是非常有用的工具,它允許程序員將各種Java對象格式化為字符串。本文通過幾個例子詳細講解了Java String.format()的常用格式,涉及整數、浮點數、日期和時間等,以幫助Java程序員更好地使用該方法,並且編寫更加優美、可讀性更強的代碼。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/153272.html