本文主要介绍JAVA字符串格式-String.format()的使用方法,有一定的参考价值,有需要的可以看看。
本文介绍JAVA字符串格式-String.format()的使用,如下:
常规类型的格式化
string类的format()方法用于创建格式化字符串和连接多个String对象。熟悉C语言的同学应该还记得C语言的sprintf()方法。他们之间有相似之处。format()方法有两种重载形式。
格式(字符串格式,对象.args) New string使用本地语言环境,并制定字符串格式和参数以生成格式化的新字符串。
格式(区域设置,字符串格式,对象.args)使用指定的语言环境来制定字符串格式和参数,以生成格式化的字符串。
显示不同的转换器将不同的数据类型转换为字符串,如图。
改变性格
朔明
例子
%s
字符串类型
“mingrisoft”
%c
字符类型
' m '
%b
布尔型
真实的
%d
整数类型(十进制)
99
%x
整数类型(十六进制)
消防
%o
整数类型(八进制)
77
%f
浮点型
99.99
%a
十六进制浮点类型
FF.35AE
%e
指数型
9.38e 5
%g
通用浮点型(F和E类型中较短的一种)
%h
散列码
%%
百分比类型
%
%n
换行符
%tx
不同于日期时间类型(X代表不同的日期时间转换器
判例案件
公共静态void main(String[] args) {
String str=null
Str=Stringformat('Hi,%s ','王力');
system outprintln(str);
Str=Stringformat('嗨,%s:%s%s ','王楠','王力','张旺');
system outprintln(str);
Systemoutprintf('字母A的大写是:%c %n ',' A ');
outprintf(' 37的结果是:%b %n ',37);
systemprintf(' 100的一半是:%d %n ',100/2);
systemprintf(' 100的十六进制数是:%x %n ',100);
systemprintf(' 100的八进制数是:%o %n ',100);
systemprintf(' 50元的书打九五折是%f元%n ',50 * 85);
Systemoutprintf('以上价格的十六进制数为:%a %n ',50 * 85);
Systemoutprintf('以上价格的指数表示:%e %n ',50 * 85);
Systemoutprintf('以上价格的指数和浮点数结果长度较短:%g %n ',50 * 85);
Systemoutprintf('上面的折扣是% d %d%% %n ',85);
Systemoutprintf('字母A的哈希码是:%h %n ',' A ');
}
输出结果
嗨,王丽
嗨,王楠:王张
A的大写字母是:A。
37的结果是:假
100的一半是50
00的十六进制数是:64。
00的八进制数是:144。
50元的书打九五折就是50万。
以上价格的十六进制数为:0x54p5
上述价格的指数表明:250000e 01
以上价格的指数和浮点数结果长度较短:5000。
以上折扣为85%
字母A的散列码是:41
搭配字符的符号,如图所示。
标记
朔明
例子
结果
将符号加到正数或负数上。
(“% d”,15)
15
-
左对齐
(' %-5d ',15)
|15|
0
数字以0开头。
('d',99年)
0099
空白的
在整数前添加指定数量的空格。
(“% 4d”,99)
| 99|
,
用“,”分组编号
(' %,f ',9999.99)
9,999.990000
(
使用括号包含负数。
(' %(f ',-99.99)
(99.990000)
#
如果是浮点数,则包含小数点,如果是十六进制或八进制,则加0x或0。
(' %#x ',99)
(' %#o ',99)
格式化前一个转换器描述的参数。
(' %f和%3.2f ',99.45)
99.450000和99.45
$
格式化参数索引
(' % 1d,% 2s ',99,' abc ')
99、abc
判例案件
公共静态void main(String[] args) {
String str=null
//$使用
Str=Stringformat('使用格式参数$: %1$d,%2$s ',99,' ABC ');
system outprintln(str);
//使用
Systemoutprintf('显示正数和负数的符号:% d和%d%n ',99,-99);
//补充o供使用
Systemoutprintf('最好的数字是:D% n ',7);
//空间使用
Systemoutprintf('Tab键的Tab效果为:% 8d%n ',7);
//使用
Systemoutprintf('整数分组的效果是:%,d% n ',998997);
//空格和小数点后的数字
Systemoutprintf('一本书的价格是:% 5f元%n ',8);
}
输出结果
使用格式$: 99,abc
显示正数和负数的符号:99和-99
最牛的数字是:007
Tab的作用是:7
整数分组的效果是:9,989,997。
一本书的价格是:8万元
日期和事件字符串格式化
经常需要在程序界面中显示时间和日期,但其显示格式往往不尽如人意。通过各种算法得到理想的日期时间格式需要大量的代码。还有一个字符串格式的%tx转换器,不详细描述。它专门用于格式化日期和时间。%tx转换器中的x表示另一个处理日期和时间格式的转换器,它们的组合可以将日期和时间格式化成各种格式。
常见日期和时间组合的格式,如图所示。
改变性格
朔明
例子
c
包括所有日期和时间信息。
中国中部时间2007年10月27日星期六14: 21: 20
F
年月日格式
2007-10-27
D
“月/日/年”格式
10/27/07
r
“HH:MM:SS PM”格式(12小时制)
下午2时25分51秒
T
“时:分:秒”格式(24小时制)
14:28:16
稀有
“时:分”格式(24小时制)
下午两点二十八分
判例案件
公共静态void main(String[] args) {
Date Date=new Date();
//c的使用
Systemoutprintf('所有日期和时间信息:%tc%n ',date);
//f的使用
Systemoutprintf('年-月-日格式:%tF%n ',日期);
//d的使用
Systemoutprintf('月/日/年格式:%tD%n ',日期);
//r的使用
Outprintf ('hh: mm: sspm格式(12小时制):%tr%n ',date);
//t的使用
Outprintf ('hh: mm: ss格式(24小时制):%tT%n ',日期);
//R的使用
Outprintf ('hh: mm格式(24小时制):%tR ',日期);
}
输出结果
完整的日期和时间信息:美国中部时间2012年9月10日,星期一,10: 43: 36
年月日格式:2012年9月10日
月/日/年格式:2012年9月10日
时:分:秒下午格式(12小时制):上午10时43分36秒
时:分:秒格式(24小时制):10时43分36秒
HH:MM格式(24小时制):10:43
定义日期格式的转换器使日期能够通过指定的转换器生成新字符串。这些日期转换器如图所示。
公共静态void main(String[] args) {
Date Date=new Date();
//b使用,月份的短名称
String=字符串格式(locale us,'英文月份的缩写:%tb ',date);
system outprintln(str);
Systemoutprintf('本地月份的简称:%tb%n ',date);
//B使用,月份的全名
Str=Stringformat(LocaleUS,'英文月份全称:%tB ',date);
system outprintln(str);
Systemoutprintf('本地月份的全名:%tB%n ',日期);
//使用a,星期的缩写
Str=Stringformat(LocaleUS,'英文week的缩写:%ta ',date);
system outprintln(str);
//使用一个,星期的全名
Systemoutprintf('本地周的简称:%tA%n ',date);
//两年前使用c语言
Systemoutprintf('年份的前两位(少于两位以0开头):% tc% n ',日期);
//y的使用,后两位数字。
system outprintf(' year '的后两位(少于两位的以0开头):% ty% n ',date);
//使用j,一年中的天数
Systemoutprintf('一年中的天数(即一年中的第几天):%tj%n ',date);
//m,month的用法
Systemoutprintf('两位数的月份(少于两位数的以0开头):% tm% n ',date);
//使用d,日(两位数,不足以补零)
Systemoutprintf('两位数的日(少于两位数的以0开头):% td% n ',日期);
//使用e,day(一位数不填零)
Systemoutprintf(一个月中的第几天(前面没有0):% te),date);
}
输出结果
月份的英文缩写:Sep
当地简称:九月。
每月全名:九月
每月全名:九月
星期的英文缩写:Mon
本地周的简称:星期一。
年份的前两位数(小于两位数的前面为0):20
年份的后两位数(小于两位数的前面为0):12
一年中的天数(即一年中的某一天):254
两位数的月份(小于两位数的前面为0):09
两位数的日期(小于两位数的前面为0):10
一个月中的某一天(前面没有0):10
与日期格式转换器相比,时间格式转换器更加精确。它可以将时间格式化为小时、分钟、秒,甚至小时和毫秒。用于格式化时间字符串的转换器如图所示。
改变性格
朔明
例子
H
两位数的24小时制(小于2位的数字前为0)
15
我
12小时制中的2位数小时(在少于2位数之前添加0)
03
k
24小时制中的两位数小时(前面没有0)
15
l
12小时制中的两位数小时(前面没有0)
三
M
两位数的分钟(0加在少于两位数之前)
03
S
两位数的秒(少于两位数以0开头)
09
L
3位数的毫秒数(少于3位数以0开头)
015
普通
9位数的毫秒数(少于9位数以0开头)
562000000
p
小写字母的上午或下午标记
中国人:下午好。
英语:下午
z
RFC822时区相对于GMT的偏移量
0800
Z
时区缩写字符串
中央标准时间
s
自1970-1-1 00:00:00以来的秒数
1193468128
Q
自1970-1-1 00:00:00以来的毫秒数
1193468128984
试验码
公共静态void main(String[] args) {
Date Date=new Date();
//H的使用
Systemprintf ('2位24小时制小时(0加在少于2位的数字之前):% th% n ',日期);
//I的使用
system printf(' 12小时制中的2位数小时(0加在不足2位数之前):% ti% n ',日期);
//k的使用
system printf(' 24小时制中的两位数小时(前面没有0):% tk % n ',日期);
//l的使用
system printf(' 12小时制中的两位数小时(前面没有0):% TL % n ',日期);
//M的使用
Systemprintf ('2位数分钟(少于2位数以0开头):%tM%n ',日期);
//的使用
Systemprintf ('2位数秒(少于2位数以0开头):%tS%n ',日期);
//L的使用
system printf(' 3位数的毫秒数(不足3位数以0开头):%tL%n ',日期);
//N的使用
systemprintf(' 9位数的毫秒数(不足9位数以0开头):%tN%n ',date);
//p的使用
String=字符串格式(locale us,'小写字母的早晨或下午标记(英语):%tp ',date);
system outprintln(str);
Systemoutprintf('小写字母的上午或下午标记(中间):%tp%n ',日期);
//z的使用
Systemoutprintf('从GMT的RFC822时区的偏移量:%tz%n ',日期);
//Z的使用
Systemoutprintf('时区缩写字符串:%tZ%n ',date);
//的使用
Outprintf(自' 1970-1-1 00: 00: 00: 00: %ts%n ',date以来的秒数);
//Q的使用
Outprintf(自' 1970-1-1 00: 00: 00: 00: %tQ%n ',date以来的毫秒数);
}
输出结果
两位数的24小时制(小于2位的数字前为0):11
2位数12小时制的小时数(小于2位数前的0):11
24小时制中的两位数小时(前面没有0):11
12小时制中的两位数小时(前面没有0):11
两位数的分钟(小于2位的数字前为0):03
2位数的秒(小于2位数的前面为0):52
3位数的毫秒数(少于3位数前加0):773
9位数的毫秒数(少于9位数以0开头):77300000
小写字母的上午或下午标记(英语):am
上午或下午用小写字母标记(中间):上午
与RFC822时区的时差:GMT: 0800
时区缩写字符串:CST
从1970-1-1 00:00:00开始的秒数是1347246232。
自1970-1-1 00:00:00:1347246232773以来的毫秒数
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。