使用
Double x=3333.33333333
System.out.printf(“%8.2f”,x); // 3333.33
用8个字符的宽度和小数点后两个字符的精度来打印x,即输出一个空格和7个字符
printf语法图
用于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 |
% |
百分号 |
% |
printf的标志
标志 |
目的 |
举例 |
+ |
打印正数和负数的符号 |
+3333.33 |
空格 |
在正数之前添加空格 |
| 3333.33| |
0 |
数字前面补0 |
003333.33 |
- |
左对齐 |
|3333.33 | |
( |
将负数括在括号内 |
( 3333.33) |
. |
添加分组分隔符 |
3,3333.33 |
#(对于f格式) |
包含小数点 |
3,333. |
#(对于x或0格式) |
添加前缀0x或0 |
0xcafe |
$ |
给定被格式化的参数索引。例如,%1$d将以十进制格式打印第一个参数 |
159 9F |
< |
格式化前面说明的数值。例如,%d%<x以十进制和十六进制打印同一个数值 |
159 9F |