av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java之String.format()方法案例講解

瀏覽:2日期:2023-02-12 18:44:52
前言:

 String.format()作為文本處理工具,為我們提供強大而豐富的字符串格式化功能,這里根據(jù)查閱的資料做個學習筆記,整理成如下文章,供后續(xù)復習查閱。

一. format()方法的兩種重載形式:

1. format(String format, Object ... args)

該方法使用指定的格式字符串和參數(shù)返回一個格式化的字符串,格式化后的新字符串使用本地默認的語言環(huán)境。

2. format(Local l, String format, Pbject ... args)

其中,參數(shù)l為格式化過程中要應用的語言環(huán)境。如果l為null,則不進行本地化。

二. 占位符:

1.對整數(shù)進行格式化:%[index$][標識][最小寬度]轉(zhuǎn)換方式

格式化字符串由4部分組成,特殊的格式常以%index$開頭,index從1開始取值,表示將第index個參數(shù)拿進來進行格式化,[最小寬度]的含義也很好理解,就是最終該整數(shù)轉(zhuǎn)化的字符串最少包含多少位數(shù)字。剩下2個部分的含義:

標識:

 ’-’ 在最小寬度內(nèi)左對齊,不可以與'用0填充'同時使用  ’#’ 只適用于8進制和16進制,8進制時在結果前面增加一個0,16進制時在結果前面增加0x  ’+’ 結果總是包括一個符號(一般情況下只適用于10進制,若對象為BigInteger才可以用于8進制和16進制)  ’ ’ 正值前加空格,負值前加負號(一般情況下只適用于10進制,若對象為BigInteger才可以用于8進制和16進制)  ’0’ 結果將用零來填充  ’,’ 只適用于10進制,每3位數(shù)字之間用','分隔  ’(’ 若參數(shù)是負數(shù),則結果中不添加負號而是用圓括號把數(shù)字括起來(同’+’具有同樣的限制)

轉(zhuǎn)換方式:

d-十進制 o-八進制 x或X-十六進制

舉個例子,如下:

System.out.println(String.format('%1$-9d', 312356));System.out.println(String.format('%1$#9x', 312356));System.out.println(String.format('%1$-#9o', 312356));System.out.println(String.format('%1$+9d', 312356));System.out.println(String.format('%1$ 9d', 312356));System.out.println(String.format('%1$ 9d', -312356));System.out.println(String.format('%1$09d', 312356));System.out.println(String.format('%1$,9d', 312356));System.out.println(String.format('%1$(9d', 312356));輸出結果:

312356 0x4c42401142044 +312356 312356 -312356000312356 312,356 312356

2.對浮點數(shù)進行格式化:%[index$][標識][最少寬度][.精度]轉(zhuǎn)換方式

我們可以看到,浮點數(shù)的轉(zhuǎn)換多了一個'精度'選項,可以控制小數(shù)點后面的位數(shù)。

標識:

’-’ 在最小寬度內(nèi)左對齊,不可以與'用0填充'同時使用 ’+’ 結果總是包括一個符號 ’ ’ 正值前加空格,負值前加負號 ’0’ 結果將用零來填充 ’,’ 每3位數(shù)字之間用','分隔(只適用于fgG的轉(zhuǎn)換) ’(’ 若參數(shù)是負數(shù),則結果中不添加負號而是用圓括號把數(shù)字括起來(只適用于eEfgG的轉(zhuǎn)換)

轉(zhuǎn)換方式:

’e’, ’E’ -- 結果被格式化為用計算機科學記數(shù)法表示的十進制數(shù) ’f’ -- 結果被格式化為十進制普通表示方式 ’g’, ’G’ -- 根據(jù)具體情況,自動選擇用普通表示方式還是科學計數(shù)法方式 ’a’, ’A’ -- 結果被格式化為帶有效位數(shù)和指數(shù)的十六進制浮點數(shù)

System.out.println(String.format('%1$-9.2f', 3123.32));System.out.println(String.format('%1$+9.2f', 3123.32));System.out.println(String.format('%1$ 9.2f', -3123.32));System.out.println(String.format('%1$ 9.2f', 3123.32));System.out.println(String.format('%1$09.2f', 3123.32));System.out.println(String.format('%1$,9.2f', 3123.32));System.out.println(String.format('%1$(9.2f', -3123.32));System.out.println(String.format('%1$9.2e', -3123.32));System.out.println(String.format('%1$9.2f', -3123.32));System.out.println(String.format('%1$9.2g', -3123.32));System.out.println(String.format('%1$9.2a', -3123.32));

輸出結果:

3123.32 +3123.32 -3123.32 3123.32003123.32 3,123.32(3123.32)-3.12e+03 -3123.32 -3.1e+03-0x1.86p113.對字符進行格式化:

對字符進行格式化是非常簡單的,c表示字符,標識中’-’表示左對齊,其他就沒什么了。

三. 對日期進行格式化:

常用的日期格式轉(zhuǎn)換符如下表所示:

轉(zhuǎn)換符 說明 示例 %te 一個月中的某一天(1~31) 2 %tb 指定語言環(huán)境的月份簡稱 Feb(英文)、二月(中文) %tB 指定語言環(huán)境的月份全稱 February(英文)、二月(中文) %tA 指定語言環(huán)境的星期幾全稱 Monday(英文)、星期一(中文) %ta 指定語言環(huán)境的星期幾簡稱 Mon(英文)、星期一(中文) %tc 包括全部日期和時間信息 星期二 三月 25 13:37:22 CST 2008 %tY 4位年份 2019 %tj 一年中的第幾天(001~366) 085 %tm 月份 03 %td 一個月中的第幾天(01~31) 02 %ty 2位年份 19

舉個例子,如下:

public class Eval { public static void main(String[] args) {Date date = new Date();String day = String.format('%te', date);System.out.println('今天是2019年8月:' + day + '號');String month = String.format('%tb', date);System.out.println('現(xiàn)在是2019年:' + month);String xingqi = String.format('%tA', date);System.out.println('今天是:' + xingqi);String year = String.format('%tY', date);System.out.println('現(xiàn)在是:' + year + '年'); }}

輸出結果:

1 今天是2019年8月:20號

2 現(xiàn)在是2019年:八月

3 今天是:星期二

4 現(xiàn)在是:2019年

常用的時間格式轉(zhuǎn)換符如下表所示:

轉(zhuǎn)換符 說明 示例 %tH 2位數(shù)字的24時制的小時(00~23) 14 %tI 2位數(shù)字的12時制的小時(01~12) 05 %tk 2位數(shù)字的24時制的小時(0~23) 5 %tl 2位數(shù)字的12時制的小時(1~12) 10 %tM 2位數(shù)字的分鐘(00~59) 05 %tS 2位數(shù)字的秒數(shù)(00~60) 12 %tL 3位數(shù)字的毫秒數(shù)(000~999) 920 %tN 9位數(shù)字的微秒數(shù)(000000000~999999999) 062000000 %tp 指定語言環(huán)境下上午或下午標記 下午(中文)、pm(英文) %tz 相對于GMT RFC 82格式的數(shù)字時區(qū)偏移量 +0800 %tZ 時區(qū)縮寫形式的字符串 CST %ts 1970-01-01 00:00:00至現(xiàn)在經(jīng)過的秒數(shù) 1206345534 %tQ 1970-01-01 00:00:00至現(xiàn)在經(jīng)過的毫秒數(shù) 12923409349034

舉個例子,如下:

public class GetDate { public static void main(String[] args) {Date date = new Date();String hour = String.format('%tH', date);String minute = String.format('%tM', date);String second = String.format('%tS', date);System.out.println('現(xiàn)在是:' + hour + '點' + minute + '分' + second + '秒');System.out.println('##################################');String hour2 = String.format('%tI', date);String pm = String.format('%tp', date);System.out.println('現(xiàn)在是:' + pm + hour2 + '點' + minute + '分' + second + '秒'); }}

輸出結果:

1 現(xiàn)在是:15點06分37秒

2 ##################################

3 現(xiàn)在是:下午03點06分37秒

常見的日期和時間組合的格式如下表所示:

轉(zhuǎn)換符 說明 示例 %tF “年-月-日”格式(4位年份) 2019-08-20 %tD “年/月/日”格式(2位年份) 08/20/19 %tc 全部日期和時間信息 星期二 三月 25 15:20:00 CST 2019 %tr “時:分:秒 PM(AM)”格式(12時制) 03:22:06 下午 %tT “時:分:秒”格式(24時制) 15:23:50  %tR “時:分”格式(24時制) 15:25

舉個例子,如下:

public class DateAndTime { public static void main(String[] args) {Date date = new Date();String time = String.format('%tc', date);String form = String.format('%tF', date);String form2 = String.format('%tD', date);String form3 = String.format('%tr', date);String form4 = String.format('%tT', date);String form5 = String.format('%tR', date);System.out.println('全部的時間信息是:' + time);System.out.println('年-月-日格式:' + form);System.out.println('年/月/日格式:' + form2);System.out.println('時:分:秒 PM(AM)格式:' + form3);System.out.println('時:分:秒格式:' + form4);System.out.println('時:分格式:' + form5); }}

輸出結果:

全部的時間信息是:星期二 八月 20 15:14:20 CST 2019年-月-日格式:2019-08-20年/月/日格式:08/20/19時:分:秒 PM(AM)格式:03:14:20 下午時:分:秒格式:15:14:20時:分格式:15:14結尾:

以上內(nèi)容為format()方法的一些常用功能,也是本人在工作場景中經(jīng)常用到的。整理歸納方便后續(xù)學習查閱,如果后面還有遇到相關方法的其他用法,后期再對該篇文章進行補充。

到此這篇關于Java之String.format()方法案例講解的文章就介紹到這了,更多相關Java之String.format()方法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關文章:
主站蜘蛛池模板: 国产精品成人一区二区三区 | 青青草视频网站 | 一级片免费| 欧美日韩在线免费观看 | 成人在线视频网 | 色涩av | 蜜臀av中文字幕 | 国产一区免费 | 丝袜美腿亚洲综合 | 咪咪色影院| 久久精品一区二区三区不卡牛牛 | 国产精品第一区 | 欧美一级淫片免费视频魅影视频 | 久久成人综合 | 国产99页| 4hu在线| 在线小视频 | www.精品国产 | 免费视频a| 日韩天天操 | 免费一级黄色片 | 亚洲精品18在线观看 | 精品欧美黑人一区二区三区 | 久久精品视频网 | 啪啪综合网 | 性欧美8khd高清极品 | 成年在线观看 | 欧美性猛交一区二区三区精品 | 人人澡人人爽 | 久草福利在线视频 | 一本不卡 | 不卡视频一区二区 | 精品在线一区二区 | 色片网址| 手机看片1024日韩 | 天天干天天色 | 日韩欧美在线免费观看 | 超碰成人福利 | 中文字幕亚洲综合 | 三级网站在线 | 欧美在线播放视频 |