天天看点

Java魔法堂:String.format详解-

  目录                              

    一、前言

    二、重载方法

    三、占位符

    四、对字符、字符串进行格式化

    五、对整数进行格式化

    六、对浮点数进行格式化

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

    八、其他转换符

    九、总结

    参考

一、前言                            

   string.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 string.format("hello %s", "john");

,下面将笔记整理并记录下来。

二、重载方法                          

三、占位符                                   

  占位符完整格式为: %[index$][标识]*[最小宽度][.精度]转换符 。

  针对不同数据类型的格式化,占位符的格式将有所裁剪。

  % ,占位符的其实字符,若要在占位符内部使用%,则需要写成 %% 。

  [index$] ,位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。

  [标识] ,用于增强格式化能力,可同时使用多个 [标识] ,但某些标识是不能同时使用的。

  [最小宽度] ,用于设置格式化后的字符串最小长度,若使用 [最小宽度] 而无设置 [标识] ,那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度。

  [.精度] ,对于浮点数类型格式化使用,设置保留小数点后多少位。

  转换符 ,用于指定格式化的样式,和限制对应入参的数据类型。

  占位符格式为: %[index$][标识][最小宽度]转换符 

  示例——将"hello"格式化为"  hello"

  示例——将"hello"格式化为"hello  "

可用标识:

   -,在最小宽度内左对齐,右边用空格补上。

可用转换符:

   s,字符串类型。

   c,字符类型,实参必须为char或int、short等可转换为char类型的数据类型,否则抛illegalformatconversionexception异常。

   b,布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。

   n,平台独立的换行符(与通过 system.getproperty("line.separator") 是一样的)

  占位符格式为: %[index$][标识]*[最小宽度]转换符 

  示例——将1显示为0001

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

六、对浮点数进行格式化                        

   占位符格式为: %[index$][标识]*[最小宽度][.精度]转换符 

   示例:

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

   占位符格式为: %[index$]t转换符 

可用转换符

  1. 日期的转换符

  2. 时间的转换符

<b></b>

八、其他转换符                          

 &lt;,用于格式化前一个转换符所描述的参数。

 示例:

九、总结                              

  暂时写到这里吧,以后用到其他的再补充上去!