您的位置 首页 java

Java 字符串格式化 Formatter

Formatter 作用

Formatter 对象主要是把 Java 中的字符串、基本类型及其包装对象格式化成字符串,当然也可以用来格式时间输出。常见的System.out.printf, String.format 都是调用Formatter实现字符串格式化。

Formatter 使用例子

格式化输出如下代码:

Java 字符串格式化 Formatter

输出结果:

Java 字符串格式化 Formatter

Formatter 语法

format 语法:

 %[argument_index$][flags][width][.precision]conversion  

语法说明:

1,% :百分号为固定开头。

2,argument_index$ :代码格式化第几个参数,参数从1开始。

3,flags : 可以控制输出的一些标志,比如 “-” 表示左对齐,默认是右对齐。

4, width : 该区域输出的最小宽度。比如10,表示该区域固定10个字符长度,小于10个字符的会用空格补齐。

5,.precision : 输出精度,如果是字符串,则表示最大输出字符串长度,超过会被截取。如果是 浮点 类型,则表示小数点的精度。

6,conversion : 格式化类型,比如s:表示字符串,d:表示整数,f:表示 浮点数 ,t:表示时间等。

Formatter Conversion 支持列表

  1. ‘b’ : boolean 类型
  2. ‘h’ : 参数对象hashcode 转成十六进制输出
  3. ‘s’ : 字符串
  4. ‘c’ : 字符
  5. ‘d’ : 十进制数字
  6. ‘o’ : 八进制 数字
  7. ‘x’ : 十六进制数字
  8. ‘e’ : 科学计数法输出浮点数类型
  9. ‘f’ : 浮点数类型
  10. ‘g’ : 浮点类型以科学计数法或者十进制数字输出,就是 e,f 的结合。
  11. ‘a’ : 浮点类型以十六进制输出
  12. ‘t’ : 格式化时间类型
  13. ‘%’ : 输出百分号 %
  14. ‘n’ : 输出换行符

Formatter 使用例子详解

 printf("%1$-10.10s %2$10s%n","Name","Age");

1,%1$-10.10s : 
1%: 表示使用第一个参数即 "Name"。
-: 表示左对齐。
10: 表示固定宽度。
.10: 表示最大输出10个字符,多余被截取。
s: 表示字符串格式类型。

2,%2$10s:
2$: 表示使用第二个参数,即"Age"。
10: 表示固定宽度。
s: 表示字符串格式化类型。

3,%n
n: 表示换行
  

总结

掌握字符串,整数,浮点数常用格式化,在编程中基本都够用。虽然Formatter 也能格式化时间,但建议还是使用时间专用的格式化类比较好。

文章来源:智云一二三科技

文章标题:Java 字符串格式化 Formatter

文章地址:https://www.zhihuclub.com/182043.shtml

关于作者: 智云科技

热门文章

网站地图