电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:7日期: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進制時在結(jié)果前面增加一個0,16進制時在結(jié)果前面增加0x  ’+’ 結(jié)果總是包括一個符號(一般情況下只適用于10進制,若對象為BigInteger才可以用于8進制和16進制)  ’ ’ 正值前加空格,負值前加負號(一般情況下只適用于10進制,若對象為BigInteger才可以用于8進制和16進制)  ’0’ 結(jié)果將用零來填充  ’,’ 只適用于10進制,每3位數(shù)字之間用','分隔  ’(’ 若參數(shù)是負數(shù),則結(jié)果中不添加負號而是用圓括號把數(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));輸出結(jié)果:

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

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

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

標識:

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

轉(zhuǎn)換方式:

’e’, ’E’ -- 結(jié)果被格式化為用計算機科學記數(shù)法表示的十進制數(shù) ’f’ -- 結(jié)果被格式化為十進制普通表示方式 ’g’, ’G’ -- 根據(jù)具體情況,自動選擇用普通表示方式還是科學計數(shù)法方式 ’a’, ’A’ -- 結(jié)果被格式化為帶有效位數(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));

輸出結(jié)果:

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 + '年'); }}

輸出結(jié)果:

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 + '秒'); }}

輸出結(jié)果:

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); }}

輸出結(jié)果:

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

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

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

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 精密模具加工制造 - 富东懿 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 周口风机|周风风机|河南省周口通用风机厂 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 自动气象站_气象站监测设备_全自动气象站设备_雨量监测站-山东风途物联网 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 |