Java格式化输出
Java的格式化输出等同于String.Format,与C有很大的相似,比如
System.out.printf("%8.2f", x);
在printf中,可以使用多个参数,例如:
System.out.printf("Hello, %s. Next year, you'll be %d", name, age);
用于printf的转换符如下表:
转换符 | 类型 | 举例 |
d |
十进制整数 |
159 |
x |
十六进制整数 |
9f |
o |
八进制整数 |
237 |
f |
定点浮点数 |
15.9 |
e |
指数浮点数 |
1.59e+01 |
g |
通常浮点数 |
|
a |
十六进制浮点数 |
0x1.fccdp3 |
s |
字符串 |
Hello |
c |
字符 |
H |
b |
布尔型 |
TRue |
h |
散列码 |
42628b2 |
tx |
日期时间 |
见时间介绍表 |
% |
百分号 |
% |
n |
分隔符 |
|
在printf函数中,可以使用多个标志,如:
System.out.printf("%,.2f", 10000.0 / 3.0);
用于printf的标志如下表
标志 | 目的 | 举例 |
+ |
打印数字前的符号 |
+3333.33 |
space |
在正数之前加空格 |
| 3333.33| |
0 |
在数字前补0 |
003333.33 |
- |
左对齐 |
|3333.33 | |
( |
负数括在括号内 |
(3333.33) |
, |
添加分组分隔符 |
3,333.33 |
# (for f ) |
包含小数点 |
3,333. |
# (for x or o) |
添加前缀 0x 或 0 |
0xcafe |
^ |
转化为大写 |
0XCAFE |
$ |
指定格式化参数索引,如%1$d,%1$d表示以十进制 和十六进制打印第一个参数 |
159 9F |
< |
格式化前面参数,如%d%<x表示以十进制和十六进 制打印同一个参数 |
159 9F |
时间日期的转换符如下:
转换符 | 类型 | 举例 |
C |
完整日期和时间 |
Mon Feb 09 18:05:19 PST 2004 |
F |
ISO 8601 日期 |
2004-02-09 |
D |
美国时间格式 (mm/dd/year) |
02/09/2004 |
T |
24小时时间 |
18:05:19 |
r |
12小时时间 |
06:05:19 pm |
R |
24小时无秒时间 |
18:05 |
Y |
四位年 |
2004 |
y |
年的后两位 |
04 |
C |
年的前两位 |
20 |
B |
月的完整拼写 |
February |
b or h |
月的缩写 |
Feb |
m |
两位月(前补0) |
02 |
d |
两位日(前补0) |
09 |
e |
日期(前不补0) |
9 |
A |
完整星期几 |
Monday |
a |
星期几的缩写 |
Mon |
j |
这一年的第多少天,三位补0 |
069 |
H |
24小时制小时,两位补0 |
18 |
k |
24小时制小时,两位不补0 |
18 |
I |
12小时制小时,两位补0 |
06 |
l |
12小时制小时,两位不补0 |
6 |
M |
分钟,两位补0 |
05 |
S |
秒,两位补0 |
19 |
L |
毫秒,三位补0 |
047 |
N |
毫微秒,九位补0 |
047000000 |
P |
上下午大写 |
PM |
p |
上下午小写 |
pm |
z |
RFC 822 numeric offset from GMT |
-0800 |
Z |
时区 |
PST |
s |
1970-01-01 00:00:00起秒数 |
1078884319 |
E |
1970-01-01 00:00:00起毫秒数 |
1078884319047 |
原文地址:https://www.cnblogs.com/agingwine/p/3994622.html