字符串格式化:String.format()

一、format()方法的两种重载方式:
  1、 format(String format, Object... args);//使用本地语言环境生成新的字符串

  2、format(Locale locale, String format, Object... args);//使用指定区域语言环境生成新的字符串

二、占位符(format):

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

  % 占位符的起始字符,表示占位符从此开始。若要在占位符中使用%,则需要写成%%。 

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

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

  [最小宽度] 用于设置格式化后的字符串最小长度,当格式化后的字符串实际长度小于[最小宽度] 时,默认在左边补空格,若使用[-最小宽度]则在右边补空格

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

  转换符 用于是的格式的样式和限制对于入参的数据类型

三、常用转换符

  1、

转换符 说明 示例
%s 字符串类型 "abcd1234"
%c 字符类型 'a'
%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代表不同的日期与时间转换符)  

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

2、搭配转换符的标志

标志 说明 示例 结果
+ 为正数或负数添加符号 format("%+d",99) +99
- 左对齐 format("%-5s","str") |str  |
0 数字前补0 format("%05d",99) 00099
空格 在整数前添加指定数量空格 format("% 5d",99) |   99|
, 用,对数字进行格式化(三位一逗) format("%,d",321321) 321,321
( 使用括号包含负数 format("%(d",-99) 99
#

如果是浮点数,则包含小数点

如果是十六进制或八进制则添加0X或0

format("%#x",99)

format("%#o",99)

0x63

0143

< 格式化前一个转换符所描述的参数 format("%f和%<3.2f",99.45) 99.450000和99.45
$ 被格式化的参数索引 format("%1$d,%2$s", 99,"abc") 99,abc

 

 

 

 

 

 

 

 

 

 

 

 

  3、日期和时间 

3.1、常见日期和时间组合的格式 

转换符 说明 示例
c 包括全部日期和时间信息 星期六 十月 27 14:21:20 CST 2007
F 年-月-日”格式 2007-10-27
D “月/日/年”格式 10/27/07
r “HH:MM:SS PM”格式(12时制) 02:25:51 下午
T HH:MM:SS”格式(24时制) 14:28:16
R “HH:MM”格式(24时制) 14:28

 

 

 

 

 

  

 

 

3.2、 日期格式化转换符 

转换符 说明 示例
b或者h 月份简称

中:十月

英:Oct

B 月份全称

中:十月

英:October

a 星期的简称

中:星期六

英:Sat

A 星期的全称

中:星期六

英:Saturday

C 年的前两位数字(不足两位前面补0) 20
y 年的后两位数字(不足两位前面补0) 07
Y 4位数字的年份(不足4位前面补0) 2007
j 一年中的天数(即年的第几天) 300
m 两位数字的月份(不足两位前面补0) 10
d 两位数字的日(不足两位前面补0) 27
e 月份的日(前面不补0) 5

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3、 时间格式化转换符 

转换符 说明 示例
H 2位数字24时制的小时(不足2位前面补0) 15
I 2位数字12时制的小时(不足2位前面补0) 03
k 2位数字24时制的小时(前面不补0) 15
l 2位数字12时制的小时(前面不补0) 3
M 2位数字的分钟(不足2位前面补0) 03
S 2位数字的秒(不足2位前面补0) 09
L 3位数字的毫秒(不足3位前面补0) 015
N 9位数字的毫秒数(不足9位前面补0) 562000000
p 小写字母的上午或下午标记

中:下午

英:pm

z 相对于GMT的RFC822时区的偏移量 +0800
Z 时区缩写字符串 CST

posted on 2016-04-27 21:58  最不好  阅读(1836)  评论(0编辑  收藏  举报

导航