Java字符串格式大全示例

您是否尝试阅读和理解Java的String 格式文档?我发现它几乎无法穿透。尽管它确实包含所有信息,但该组织仍有一些不足之处。
本指南旨在使您更清楚并简化Java中字符串格式的使用。
字符串格式
在Java中格式化字符串的最常见方法是使用String.format()。如果有一个“ java sprintf”,那就是它。
String output = String.format("%s = %d", “joe”, 35);

对于格式化的控制台输出,可以使用printf()或System.out和System.err PrintStreams 的format()方法。
System.out.printf(“My name is: %s%n”, “joe”);

创建一个Formatter 并将其链接到StringBuilder。使用format()方法格式化的输出将附加到StringBuilder。
StringBuilder sbuf = new StringBuilder();
Formatter fmt = new Formatter(sbuf);
fmt.format(“PI = %f%n”, Math.PI);
System.out.print(sbuf.toString());
// you can continue to append data to sbuf here.
格式说明符
这是对所有支持的转换说明符的快速参考:
说明符 适用于 输出量
%一种 浮点数(BigDecimal除外 ) 浮点数的十六进制输出
%b 任意种类 如果为非null,则为“ true”;如果为null,则为“ false”
%C 字符 Unicode字符
%d 整数(包括字节,短整数,整数,长整数,大整数) 十进制整数
%e 浮点 科学计数法中的十进制数
%F 浮点 十进制数
%G 浮点 十进制数,可能以科学计数法表示,取决于精度和值。
%H 任意种类 十六进制hashCode()方法中的值的字符串。
%n 没有 特定于平台的行分隔符。
%o 整数(包括字节,短整数,整数,长整数,大整数) 八进制数
%s 任意种类 字符串值
%t 日期/时间(包括长,日历,日期和TemporalAccessor) %t是日期/时间转换的前缀。之后,需要更多的格式化标志。请参阅下面的日期/时间转换。
%X 整数(包括字节,短整数,整数,长整数,大整数) 十六进制字符串。
日期和时间格式
注意:下表中的格式字符使用“%T”而不是“%t”会使输出大写。
旗 笔记
%tA 星期几的全名,例如“ Sunday”,“ Monday”
%ta 工作日的缩写名称,例如“ Sun”,“ Mon”等。
%tB 月份的全名,例如“ January”,“ February”等。
%tb 缩写的月份名称,例如“ Jan”,“ Feb”等。
%tC 用两位数字格式表示的年份的世纪部分,例如“ 00”至“ 99”。
%tc 日期和时间格式为“ %ta %tb %td %tT %tZ %tY”,例如Fri Feb 17 07:45:42 PST 2017“
%tD 日期格式为“ %tm/%td/%ty”
%td 每月的日期用两位数字格式化。例如“ 01”到“ 31”。
%te 格式化的月份中的日期,不带前导0,例如“ 1”至“ 31”。
%tF ISO 8601格式的日期带有“ %tY-%tm-%td”。
%tH 24小时制的一天中的小时,例如“ 00”到“ 23”。
%th 与%tb相同。
%tI 12小时制的一天中的小时,例如“ 01” –“ 12”。
%tj 一年中的日期以0开头,例如“ 001”到“ 366”。
%tk 24小时制的一天中的小时,不带前导0,例如“ 0”到“ 23”。
%tl 12小时点击的一天中的小时,不带前导0,例如“ 1”到“ 12”。
%Tm值 一小时内的分钟数格式化为前导0,例如“ 00”到“ 59”。
%Tm值 以0开头的月份格式,例如“ 01”到“ 12”。
%tN 纳秒,格式为9位数字和前导0,例如“ 000000000”至“ 999999999”。
%tp 特定于语言环境的“ am”或“ pm”标记。
%tQ 自1970年1月1日UTC时间以来的毫秒数。
%tR 时间格式为24小时,例如“ %tH:%tM”。
%tr 时间格式为12小时,例如“ %tI:%tM:%tS %Tp”。
%tS 分钟内的秒数用2位数字表示,例如“ 00”至“ 60”。需要60来支持required秒。
%ts 自世界标准时间1970年1月1日00:00:00以来的秒数。
%tT 时间格式为24小时,例如“ %tH:%tM:%tS”。
%tY 用4位数字表示的年份,例如“ 0000”到“ 9999”。
%ty 用2位数表示的年份,例如“ 00”到“ 99”。
%tZ 时区的缩写。例如“ UTC”,“ PST”等。
%tz 与格林尼治标准时间的时区偏移,例如“
-0800
”。
引数索引
参数索引被指定为在“ ” 之 后 以 “ S t r i n g . f o r m a t ( " ”之后以“ %” 结尾的数字,并在参数列表中选择指定的参数。 String.format("%2 String.format("s", 32, “Hello”); // prints: “Hello”
格式化整数
借助%d格式说明符,您可以使用所有整数类型的参数,包括byte,short,int,long和BigInteger。
默认格式:
String.format("%d", 93); // prints 93

指定宽度:
String.format("|%20d|", 93); // prints: | 93|

在指定宽度内左对齐:
String.format("|%-20d|", 93); // prints: |93 |

用零填充:
String.format("|%020d|", 93); // prints: |00000000000000000093|

打印带有“ +”的正数:
(负数始终带有“-”):
String.format("|%+20d|’, 93); // prints: | +93|

正数前的空格。
正常情况下,负数包含“-”。
String.format("|% d|", 93); // prints: | 93| String.format("|% d|", -36); // prints: |-36|

使用特定于语言环境的千位分隔符:
对于美国语言环境,它是“,”:
String.format("|%,d|", 10000000); // prints: |10,000,000|

将负数括在括号(“()”)内,并跳过“-”:
String.format("|%(d|", -36); // prints: |(36)|

八进制输出:
String.format("|%o|"), 93); // prints: 135

十六进制输出:
String.format("|%x|", 93); // prints: 5d

八进制和十六进制输出的备用表示形式:
打印以“ 0” 开头的八进制数字和以“ ”开头的十六进制数字0x。
String.format("|%#o|", 93);
// prints: 0135
String.format("|%#x|", 93);
// prints: 0x5d
String.format("|%#X|", 93);
// prints: 0X5D

字符串和字符转换
默认格式:
打印整个字符串。
String.format("|%s|", “Hello World”); // prints: “Hello World”

指定字段长度
String.format("|%30s|", “Hello World”); // prints: | Hello World|

左对齐文本
String.format("|%-30s|", “Hello World”); // prints: |Hello World |

指定最大字符数
String.format("|%.5s|", “Hello World”); // prints: |Hello|

字段宽度和最大字符数
String.format("|%30.5s|", “Hello World”); | Hello|

摘要
本指南介绍了Java中的字符串格式。我们介绍了受支持的格式说明符。数字格式和字符串格式都支持多种标志,以表示其他格式。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值