目录

  • 一、引言

  • 二、重装

  • 三、占位符

  • 四、超过一项以上的参数时

  • 五、转换符

  • 六、转换符的标志

  • 七、对字符串进行格式化

  • 八、对整数进行格式化

  • 九 、对浮点数进行格式化

  • 十、对日期时间进行格式化

一、引言

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。

二、重载

  1. // 使用当前本地区域对象(Locale.getDefault()),制定字符串格式和参数生成格式化的字符串

  2. String String.format(String fmt, Object... args);

  3.  

  4. // 自定义本地区域对象,制定字符串格式和参数生成格式化的字符串

  5. String String.format(Locale locale, String fmt, Object... args);

三、占位符

格式化说明最多会有5个部分(不包括%符号) . 下面的[]符号里面都是选择性的项目,因此只有%与type是必要的. 格式化说明的顺序是有规定的,必须要以这个顺序章指定.

这可能是将String.format格式化讲解的最清楚的一篇文章_java

实例:

这可能是将String.format格式化讲解的最清楚的一篇文章_java_02

四、超过一项以上的参数时

把新的参数加到后面,因此会有3个参数来调用format()而不是两个,并且在第一个参数中,也就是格式化串中,会有两个不同的格式化设定,也就是两个%开头的字符组合,第二个会应用在第一个%上面,第三个参数会用在第二%上,也就是参数会依照顺序应用在%上面" 。

  1. int one = 123456789;

  2. double two = 123456.789;

  3. String s = String.format("第一个参数:%,d 第二个参数:%,.2f", one, two);

  4. System.out.println(s);

这可能是将String.format格式化讲解的最清楚的一篇文章_java_03

五、转换符

这可能是将String.format格式化讲解的最清楚的一篇文章_java_04

六、转换符的标志

这可能是将String.format格式化讲解的最清楚的一篇文章_java_05

七、对字符串进行格式化

示例——将"hello"格式化为"hello "(左对齐)

  1. String raw = "hello word";

  2. String str = String.format("|%-15s|", raw);

  3. System.out.println(str);

这可能是将String.format格式化讲解的最清楚的一篇文章_java_06

八、对整数进行格式化

示例——将-1000显示为(1,000)

  1. int num = -1000;

  2. String str = String.format("%(,d", num);

  3. System.out.println(str);

这可能是将String.format格式化讲解的最清楚的一篇文章_java_07

九 、对浮点数进行格式化

  1. double num = 123.456789;

  2. System.out.print(String.format("浮点类型:%.2f %n", num));

  3. System.out.print(String.format("十六进制浮点类型:%a %n", num));

  4. System.out.print(String.format("通用浮点类型:%g ", num));

这可能是将String.format格式化讲解的最清楚的一篇文章_java_08

十、对日期时间进行格式化

日期的转换符

这可能是将String.format格式化讲解的最清楚的一篇文章_java_09

时间的转换符

这可能是将String.format格式化讲解的最清楚的一篇文章_java_10

实例

这可能是将String.format格式化讲解的最清楚的一篇文章_java_11

这可能是将String.format格式化讲解的最清楚的一篇文章_java_12

https://mp.weixin.qq.com/s/fkplpxLC2-T3ljQbfIA5zg