首页 > 其他 > 详细

String.format()方法

时间:2020-11-03 19:17:59      阅读:34      评论:0      收藏:0      [点我收藏+]

重载方法
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代表不同的日期与时间转换符 
123456789101112131415161718192021222324252627

转换符标志

标志      说明                      示例                      结果
+       为整数或者负数添加符号      "%+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.450000和99.45
$      被格式化的参数索引            "%1$d,%2$s",             99,abc
12345678910

例子:

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   
100的16进制数是:64   
100的8进制数是: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元    

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_41815248/article/details/86442622

String.format()方法

原文:https://www.cnblogs.com/steveshao/p/13921096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!