String.format()方法

重载方法
format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
转换符说明

%s 字符串类型 "mingrisoft"  

%c 字符类型 'm'  

%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代表不同的日期与时间转换符 

转换符标志

标志      说明                      示例                      结果
+       为整数或者负数添加符号      "%+d",15                   +15
-       左对齐                    "%-5d",15                  |15  |
0       数字前面补0                "%04d",99                  0099
空格    在整数之前添加指定数量的空格  "% 4d",99                  |  99|
,,对数字分组               "%,f",9999.99              9,999.990000
(      使用括号包含负数             "%(f",-99.99             (99.99)
#      如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0       "%#x",99    0x63    "%#o",99    0143
<      格式化前一个转换符所描述的参数     "%f和%<3.2f",99.45    99.45000099.45
$      被格式化的参数索引            "%1$d,%2$s",             99,abc

例子:

String str=null;  
str=String.format("Hi,%s", "王力");  
System.out.println(str);  
str=String.format("Hi,%s:%s.%s", "王南","王力","王张");            
System.out.println(str);                           
System.out.printf("字母a的大写是:%c %n", 'A');  
System.out.printf("3>7的结果是:%b %n", 3>7);  
System.out.printf("100的一半是:%d %n", 100/2);  
System.out.printf("100的16进制数是:%x %n", 100);  
System.out.printf("100的8进制数是:%o %n", 100);  
System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);  
System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);  
System.out.printf("上面价格的指数表示:%e %n", 50*0.85);  
System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);  
System.out.printf("上面的折扣是%d%% %n", 85);  
System.out.printf("字母A的散列码是:%h %n", 'A');  

Hi,王力  
Hi,王南:王力.王张  
字母a的大写是:A   
3>7的结果是:false   
100的一半是:50   
10016进制数是:64   
1008进制数是:144   
50元的书打8.5折扣是:42.500000 元  
上面价格的16进制数是:0x1.54p5   
上面价格的指数表示:4.250000e+01   
上面价格的指数和浮点数结果的长度较短的是:42.5000   
上面的折扣是85%   
字母A的散列码是:41   

//$使用  
str=String.format("格式参数$的使用:%1$d,%2$s", 99,"abc");             
System.out.println(str);                       
//+使用  
System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);  
//补O使用  
System.out.printf("最牛的编号是:%03d%n", 7);  
//空格使用  
System.out.printf("Tab键的效果是:% 8d%n", 7);  
//.使用  
System.out.printf("整数分组的效果是:%,d%n", 9989997);  
//空格和小数点后面个数  
System.out.printf("一本书的价格是:% 50.5f元%n", 49.8);

格式参数$的使用:99,abc  
显示正负数的符号:+99-99  
最牛的编号是:007  
Tab键的效果是:       7  
整数分组的效果是:9,989,997  
一本书的价格是:49.80000

你可能感兴趣的:(Java,string)