不同转换符实现不同数据类型到字符串的转换, 如表所示:
转 & nbsp; 换 & nbsp; 符 | 说 & nbsp; 明 & nbsp; | 示 & nbsp; 例 |
%s | 字符串类型 | "mingrisoft" |
%c | 字符类型 | ‘m‘ |
%b | 布尔类型 | true |
%d | 整数类型(十进制) | 99 |
%x | 整数类型(十六进制) | FF |
%o | 整数类型(八进制) | 77 |
%f | 浮点类型 | 99.99 |
%a | 十六进制浮点类型 | FF.35AE |
%e | 指数类型 | 9.38e+5 |
%g | 通用浮点类型(f 和 e 类型中较短的) | |
%h | 散列码 | |
%% | 百分比类型 | % |
%n | 换行符 | |
%tx | 日期与时间类型(x 代表不同的日期与时间转换符 |
之前的 System.out.printf() 只列举了浮点型, 在实际使用中发现还有很多欠缺, 比如在阅读一些专业书籍, 出现其他类型的时候会很懵逼, 为此我找出了初学者阶段比较全面的 "不同转换符实现不同数据类型到字符串的转换".
测试用例:
- public static void main(String[] args) {
- String str=null;
- str=String.format("Hi,%s", "王力");
- System.out.println(str);
- str=String.format("Hi,%s:%s.%s", "王南","王力","王张");
- System.out.println(str);
- System.out.printf("字母 a 的大写是:%c %n", 'A');
- System.out.printf("3>7 的结果是:%b %n", 3>7);
- System.out.printf("100 的一半是:%d %n", 100/2);
- System.out.printf("100 的 16 进制数是:%x %n", 100);
- System.out.printf("100 的 8 进制数是:%o %n", 100);
- System.out.printf("50 元的书打 8.5 折扣是:%f 元 %n", 50*0.85);
- System.out.printf("上面价格的 16 进制数是:%a %n", 50*0.85);
- System.out.printf("上面价格的指数表示:%e %n", 50*0.85);
- System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);
- System.out.printf("上面的折扣是 %d%% %n", 85);
- System.out.printf("字母 A 的散列码是:%h %n", 'A');
- }
输出结果:
Hi, 王力
Hi, 王南: 王力. 王张
字母 a 的大写是: A
3>7 的结果是: false
100 的一半是: 50
100 的 16 进制数是: 64
100 的 8 进制数是: 144
50 元的书打 8.5 折扣是: 42.500000 元
上面价格的 16 进制数是: 0x1.54p5
上面价格的指数表示: 4.250000e+01
上面价格的指数和浮点数结果的长度较短的是: 42.5000
上面的折扣是 85%
字母 A 的散列码是: 41
想要了解更加详细的内容, 推荐: https://blog.csdn.net/lonely_fireworks/article/details/7962171
来源: http://www.bubuko.com/infodetail-2714584.html