欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

printf格式化输出

程序员文章站 2022-07-15 09:07:15
...

转换符说明:

%s                   字符串类型
%c                   字符类型
%b                   布尔类型
%d                   整数类型(十进制)
%x                   整数类型(十六进制)
%o                   整数类型(八进制)
%f                    浮点类型
%a                   十六进制浮点类型
%e                   指数类型
%g                   通用浮点类型(f和e类型中较短的)
%h                   散列码
%%                  百分比类型
%n                   换行符
%tx                  日期与时间类型(x代表不同的日期与时间转换符

实例

System.out.printf("字符串类型: %s %s %s %n", "周杰伦", "林俊杰", "张学友");
System.out.printf("字符类型: %c 只能输入一个字符  %n", 'a');
System.out.printf("布尔类型: %b %n", true);
System.out.printf("整数类型(十进制): %d %n", 10);
System.out.printf("整数类型(十六进制): %x %n", 10);
System.out.printf("整数类型(八进制): %o %n", 10);
System.out.printf("浮点类型: %f %n", 10.0);
System.out.printf("十六进制浮点类型: %a %n", 10.0);
System.out.printf("指数类型: %e %n", 10.0);
System.out.printf("通用浮点类型(f和e类型中较短的): %g %n", 10.0);
System.out.printf("散列码: %h %n", 10.0);
System.out.printf("百分比类型: %d%% %n", 10);

输出结果:

字符串类型: 周杰伦 林俊杰 张学友 
字符类型: a 只能输入一个字符  
布尔类型: true 
整数类型(十进制): 10 
整数类型(十六进制): a 
整数类型(八进制): 12 
浮点类型: 10.000000 
十六进制浮点类型: 0x1.4p3 
指数类型: 1.000000e+01 
通用浮点类型(f和e类型中较短的): 10.0000 
散列码: 40240000 
百分比类型: 10% 

搭配转换符的标志

+                       为正数或者负数添加符号
0                       数字面前补0
空格                  在整数之前添加指定数量的空格
,                       “,”对数字分组
                      负数括在括号内
#                       如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0
<                       格式化前一个转换符所描述的参数
$                       被格式化的参数索引

System.out.printf("\"+\": %+d %n",10);
System.out.printf("\"0\": %04d %n",10);
System.out.printf("\"空格\" % 4d %n",10);
System.out.printf("\",\": %,f %n",1000000.0);
System.out.printf("\"(\": %(f %n",-100.00);
System.out.printf("\"#\": %#x %n",10);
System.out.printf("\"<\": %f%<1.2f %n",10.223);
System.out.printf("\"$\": %1$d %2$s %n",13,"a");

输出结果:

"+": +10 
"0": 0010 
"空格"   10 
",": 1,000,000.000000 
"(": (100.000000) 
"#": 0xa 
"<": 10.22300010.22 
"$": 13 a 

日期和事件字符串格式化

c                       包括全部日期和时间信息
F                     “年-月-日”格式
D                    “月/日/年”格式
r                     “HH:MM:SS PM”格式(12时制)
T                    “HH:MM:SS”格式(24时制)
R                    “HH:MM”格式(24时制)

Date date = new Date();
System.out.printf("%tc %n", date);
System.out.printf("%tF %n", date);
System.out.printf("%tD %n", date);
System.out.printf("%tT %n", date);
System.out.printf("%tR %n", date);
System.out.printf("%tF %tT %n",date,date);

输出结果:

星期日 十二月 17 16:15:39 CST 2017 
2017-12-17 
12/17/17 
16:15:39 
16:15 
2017-12-17 16:15:39 
相关标签: 格式化 printf