记录:NO.254
场景:体验Java的String.format()函数。
Java的String.format()函数,是java.lang.String的一个静态方法。
public static String format(String format, Object... args);
String.format()方法功能描述:
Returns a formatted string using the specified format string and arguments.
具体实现:new Formatter().format(format, args).toString();
在java.util.Formatter类中描述了所支持的格式化类别与细节。
java.util.Formatter类功能描述:
An interpreter for printf-style format strings. This class provides supportfor layout justification and alignment, common formats for numeric, string,and date/time data, and locale-specific output.
1.输出字符串
String out1 = String.format("format结果: %s%s%s","厦门","福州","泉州");
System.out.println("out1 = "+out1);
2.输出字符
String out2 = String.format("format结果: %c%c%c",'中','国','人');
System.out.println("out2 = "+out2);
3.输出bool类型
String out3 = String.format("format结果: %b;%b;%b",true,false,true);
System.out.println("out3 = "+out3);
4.整数类型(十进制)
String out4 = String.format("format结果: %d",96,96);
System.out.println("out4 = "+out4);
5.整数类型(十六进制)
String out5 = String.format("format结果: %x;%X;%#x;",30,30,30);
System.out.println("out5 = "+out5);
6.整数类型(八进制)
String out6 = String.format("format结果: %o;%#o",30,30);
System.out.println("out6 = "+out6);
7.浮点类型
String out8 = String.format("format结果: %f",30.31);
System.out.println("out8 = "+out8);
8.十六进制浮点类型
String out9 = String.format("format结果: %a",30.31);
System.out.println("out9 = "+out9);
9.指数类型
String out10 = String.format("format结果: %e",30.31);
System.out.println("out10 = "+out10);
10.通用浮点类型
String out11 = String.format("format结果: %g",30.31);
System.out.println("out11 = "+out11);
11.散列码
String out12 = String.format("format结果: %h",30.31);
System.out.println("out12 = "+out12);
12.换行符
String out13 = String.format("format结果: 福建人;%n中国人.");
System.out.println("out13 = "+out13);
13.输出百分比类型
String out14 = String.format("format结果: %d%%",20);
System.out.println("out14 = "+out14);
14.输出日期和时间信息
Date today = new Date();
String out15 = String.format("format结果: %tc",today);
System.out.println("out15 = "+out15);
15.输出年-月-日格式
Date today = new Date();
String out16 = String.format("format结果: %tF",today);
System.out.println("out16 = "+out16);
16.输出年/月/日格式
Date today = new Date();
String out17 = String.format("format结果: %tD",today);
System.out.println("out17 = "+out17);
17.输出HH:MM:SS PM 格式
Date today = new Date();
String out18 = String.format("format结果: %tr",today);
System.out.println("out18 = "+out18);
18.输出HH:MM:SS格式
Date today = new Date();
String out19 = String.format("format结果: %tT",today);
System.out.println("out19 = "+out19);
19.输出HH:MM格式
Date today = new Date();
String out20 = String.format("format结果: %tR",today);
System.out.println("out20 = "+out20);
20.为数字添加符号
String out21 = String.format("format结果: %+d;%d",9696,-8686);
System.out.println("out21 = "+out21);
21.用0补全
String out22 = String.format("format结果: %06d",9696);
System.out.println("out22 = "+out22);
22.在数字前使用空格填充
String out23 = String.format("format结果: % 6d",9696);
System.out.println("out23 = "+out23);
23.使用','对数字分组
String out24= String.format("format结果: %,f",56329696.7894);
System.out.println("out24 = "+out24);
24.使用括号包含负数
String out25= String.format("format结果: %(f",-9696.96);
System.out.println("out25 = "+out25);
25.给16进制加上0x,给8进制加上0
String out26= String.format("format结果: %#x;%#o",18,18);
System.out.println("out26 = "+out26);
26.格式化'<'前一个转换符所描述的参数
String out27= String.format("format结果: %d;%<d",18);
System.out.println("out27 = "+out27);
String out28= String.format("format结果: %tF %<tT",new Date());
System.out.println("out28 = "+out28);
27.被格式化的参数索引,即取哪个参数格式
String out29= String.format("format结果: %2$04d;%1$s","福建在中国",591);
System.out.println("out29 = "+out29);
28.测试运行结果
以上,感谢。