String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。

例如:

String字符串补0 
String.format("字符%04d",23)               结果:  "字符0023"
%04d  --  (不足4位补0) 
小数点位数
String.format("字符% 4.5f",11.111)         结果:  "字符    11.11100"
% 4.5f  --  (空格4  -  空格4个字符),(.5  -   小数点后5位(四舍五入))


format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。

format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。

下面几个常用的标红


转换符

%s        字符串类型  
String.format("字符%s","串")            结果:  "字符串"
-----------------------------------------------------------------
%c        字符类型
String.format("字符%c",'A')               结果:  "字符A"
-----------------------------------------------------------------
%b        布尔类型
String.format("字符%b",1==2)           结果:  "字符false"
-----------------------------------------------------------------
%d        整数类型(十进制)
String.format("字符%d",20/2)            结果:  "字符10"
-----------------------------------------------------------------
%x        整数类型(十六进制)
String.format("字符%x",100)              结果:  "64"
-----------------------------------------------------------------
%o        整数类型(八进制)
String.format("字符%o",100)                结果:  "字符144"
-----------------------------------------------------------------
%f         浮点类型
String.format("字符%f",10*0.05)        结果:  "字符0.500000"
-----------------------------------------------------------------
%h        散列码
String.format("字符%h",'A')              结果:  "字符41"
-----------------------------------------------------------------
%%       百分比类型
String.format("字符%d%%",85)        结果:  "字符85%"
-----------------------------------------------------------------

%a        浮点类型(十六进制)
%e        指数类型
%g        通用浮点类型
%n        换行符
%tx       日期与时间类型(x代表不同的日期与时间转换符)


标记符号

+        为正数 or 负数添加符号
String.format("字符%+d",99)                 结果:  "字符+99"
-----------------------------------------------------------------
0          数字前补0
String.format("字符%04d",23)               结果:  "字符0023"
-----------------------------------------------------------------
空格    在整数之前添加指定数量的空格
String.format("字符% 4d",123)              结果:  "字符    123"
-----------------------------------------------------------------
,        以“,”对数字分组
String.format("字符%,f",11111.111)         结果:  "字符11,111.111000"
String.format("字符% 4.5f",11.111)         结果:  "字符    11.11100"
-----------------------------------------------------------------
-          左对齐
(          使用括号包含负数
#         如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0
<         格式化前一个转换符所描述的参数
$         被格式化的参数索引


日期和时间

c       包括全部日期和时间                      星期五 四月 07 18:03:20 CST 2017
F      “年-月-日”格式                                2017-04-07
D      “月/日/年”格式                                04/07/17
r        “HH:MM:SS PM”格式(12时制) 06:04:20 下午
T       “HH:MM:SS”格式(24时制)       18:04:20
R       “HH:MM”格式(24时制)            18:04

String.format("时间%tT",new Data)         结果:  "时间19:21:00"


转换符(很少用这里不多做介绍了)

使用时同样 (%t +  格式)

H           2位数字24时制的小时(不足2位前面补0)         15
I             2位数字12时制的小时(不足2位前面补0)         03   
k            2位数字24时制的小时(前面不补0)                  15
i             2位数字12时制的小时(前面不补0)                  03
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
s            1970-1-1 00:00:00 到现在所经过的秒数              1193468128
Q           1970-1-1 00:00:00 到现在所经过的毫秒数          1193468128984