Android笔记:String.format()的详细用法

2022-01-10 15:06:36 浏览数 (1)

一直对String.format不了解,而且也记不住那么多,记录一下以后查起来方便 1 占位符 1.1 单个占位符

代码语言:javascript复制
String s = String.format("Hello %s,Welcome to my blog!", "jerry");
System.out.println(s);//Hello jerry,Welcome to my blog!12

1.2 多个占位符 1.2.1 按顺序

代码语言:javascript复制
String s = String.format("Hello %s%s%s", "jerry-", "li", ",welcome!");1

1.2.2 按索引

代码语言:javascript复制
String s = String.format("Hello %2$s%3$s%1$s", "li-", "heng-", "jie");1

2 对整数格式化

代码语言:javascript复制
int n2 = 9999999;
System.out.printf("% (,d %n", n2);

参数

含义

-

在最小宽度内左对齐,不可以与0标识一起使用

0

若内容长度不足最小宽度

结果总包含一个 或-号。

空格

正数前加空格

,

只用与十进制

(

若结果为负数

3 对浮点数格式化

代码语言:javascript复制
double n = 3.1415926;
String s = String.format("%f %n", num);

参数

含义

-

在最小宽度内左对齐

0

若内容长度不足最小宽度

结果总包含一个 或-号。

空格

正数前加空格

,

只用与十进制

(

若结果为负数

4 对日期、时间格式化

对日期格式化的时候不能像对数字那样多种格式对应一个数字, 分为日期格式化及时间格式化两部分,如果希望格式化之后的格式是: 2017-01-13 12:05:30,需要先格式化日期,然后再格式化时间。 如下:

代码语言:javascript复制
Date date = new Date();
String dateFormat = String.format("%tF %tT ", date, date);
System.out.println(dateFormat);

日期格式化:

参数

含义

c

星期六 十月 27 14:21:20 CST 2007

F

2007-10-27

D

10/27/07

r

02:25:51 下午

T

14:28:16

R

14:28

b

月份简称

B

月份全称

a

星期简称

A

星期全称

C

年前两位(不足两位补零)

y

年后两位(不足两位补零)

m

月份(不足两位补零)

d

日期(不足两位补零)

e

日期(不足两位不补零

时间格式化:

参数

含义

H

24小时制的小时(不足两位补零)

k

24小时制的小时(不足两位不补零)

I

12小时制的小时(不足两位补零)

i

12小时制的小时(不足两位不补零)

M

分钟(不足两位补零)

S

秒(不足两位补零)

L

毫秒(不足三位补零)

N

毫秒(不足9位补零)

p

小写字母的上午或下午标记,如中文为“下午”,英文为pm

z

相对于GMT的时区偏移量,如 0800

Z

时区缩写,如CST

s

自1970-1-1 00:00:00起经过的秒数

Q

自1970-1-1 00:00:00起经过的豪秒

0 人点赞