前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 字符串格式示例,很全!

Java 字符串格式示例,很全!

作者头像
终码一生
发布2022-04-15 12:57:35
9650
发布2022-04-15 12:57:35
举报
文章被收录于专栏:终码一生

总是忘记 Java 字符串格式化说明符?今天这篇文章带你轻松搞定Java中的字符串表述。

字符串格式

在 java 中格式化字符串的最常见方法是使用String.format()。如果有一个“java sprintf”,那就是它。

代码语言:javascript
复制
String output = String.format("%s = %d", "joe", 35);

对于格式化的控制台输出,您可以使用printf()或System.out和System.err PrintStreams的format()方法。

代码语言:javascript
复制
System.out.printf("My name is: %s%n", "joe");

创建一个Formatter 并将其链接到StringBuilder。使用format()方法格式化的输出将附加到StringBuilder。

代码语言:javascript
复制
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.

格式说明符

以下是支持的所有转换说明符的快速参考:

说明符

适用于

输出

%a

浮点数(BigDecimal除外)

浮点数的十六进制输出

%b

任意种类

如果为非空,则为“真”,如果为空,则为“假”

%c

特点

Unicode 字符

%d

整数(包括字节、短整数、整数、长整数、大整数)

十进制整数

%e

浮点

科学计数法中的十进制数

%f

浮点

十进制数

%g

浮点

十进制数,可能采用科学计数法,具体取决于精度和值。

%h

任意种类

来自 hashCode() 方法的十六进制字符串值。

%n

没有

特定于平台的行分隔符。

%o

整数(包括字节、短整数、整数、长整数、大整数)

八进制数

%s

任意种类

字符串值

%t

日期/时间(包括 long、Calendar、Date 和 TemporalAccessor)

%t 是日期/时间转换的前缀。在此之后需要更多的格式化标志。请参阅下面的日期/时间转换。

%x

整数(包括字节、短整数、整数、长整数、大整数)

十六进制字符串。

日期和时间格式

注意:在下表中使用带有“%T”而不是“%t”的格式化字符会使输出大写。

代码语言:javascript
复制
NOTES

参数索引

$参数索引指定为在“ ”之后以“ ”结尾的数字,%并在参数列表中选择指定的参数。

代码语言:javascript
复制
String.format("%2$s", 32, "Hello"); // 打印: "Hello"

格式化整数

使用%d格式说明符,您可以使用所有整数类型的参数,包括 byte、short、int、long 和 BigInteger。

默认格式:

代码语言:javascript
复制
String.format("%d", 93); // 打印:93

指定宽度:

代码语言:javascript
复制
String.format("|%20d|", 93); // 打印: | 93|

在指定宽度内左对齐:

代码语言:javascript
复制
String.format("|%-20d|", 93); // 打印: |93 |

用零填充:

代码语言:javascript
复制
String.format("|%020d|", 93); // 打印: |00000000000000000093|

用“+”打印正数:

代码语言:javascript
复制
String.format("|%+20d|', 93); // 打印: | +93|

正数前的空格

正常情况下,负数包含“-”。

代码语言:javascript
复制
String.format("|% d|", 93); // prints: | 93| String.format("|% d|", -36); // 打印: |-36|

使用特定于语言环境的千位分隔符:

对于美国语言环境,它是“,”:

代码语言:javascript
复制
String.format("|%,d|", 10000000); // 打印: |10,000,000|

将负数括在括号(“()”)中并跳过“-”:

代码语言:javascript
复制
String.format("|%(d|", -36); // 打印: |(36)|

八进制输出:

代码语言:javascript
复制
String.format("|%o|"), 93); // 打印: 135

十六进制输出:

代码语言:javascript
复制
String.format("|%x|", 93); // 打印: 5d

八进制和十六进制输出的替代表示:

打印带有前导“ ”的八进制数字和带有前导“ 0”的十六进制数字0x。

代码语言:javascript
复制
String.format("|%#o|", 93);
// 打印: 0135

String.format("|%#x|", 93);
// 打印: 0x5d

String.format("|%#X|", 93);
// 打印: 0X5D

字符串和字符转换

默认格式:

打印整个字符串

代码语言:javascript
复制
String.format("|%s|", "Hello World"); // 打印: "Hello World"

指定字段长度

代码语言:javascript
复制
String.format("|%30s|", "Hello World"); // 打印: | Hello World|

左对齐文本

代码语言:javascript
复制
String.format("|%-30s|", "Hello World"); // 打印: |Hello World |

指定最大字符数

代码语言:javascript
复制
String.format("|%.5s|", "Hello World"); // 打印: |Hello|

字段宽度和最大字符数

代码语言:javascript
复制
String.format("|%30.5s|", "Hello World"); | Hello|

译文:dzone.com/articles/java-string-format-examples

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 终码一生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 格式说明符
    • 日期和时间格式
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档