一.简介
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。
二.format()方法有两种重载形式
方法:format(String format, Object... args)
说明:新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
方法:format(Locale locale, String format, Object... args)
说明:使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
三.举例说明
1.基本类型转换
规则
代码
private void StringFormatMethod(){
String result1=String.format("你好,%s", "张三");
String result2=String.format("欢迎—%s:%s:%s", "张三","李四","王五");
String result3=String.format("字母b的大写是:%c", 'B');
String result4=String.format("你是二狗子吗:%b", 4>10);
String result5=String.format("100十进制数值:%d", 100);
String result6=String.format("100十六进制数值:%x", 101);
String result7=String.format("100八进制数值:%o", 102);
String result8=String.format("100浮点类型数值:%f", 100.000000);
String result9=String.format("100十六进制浮点类型数值:%a", 101.000000);
String result10=String.format("此商品是:%d%%", 85);
Log.d("TAG","result1----:"+result1);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result2----:"+result2);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result3----:"+result3);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result4----:"+result4);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result5----:"+result5);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result6----:"+result6);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result7----:"+result7);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result8----:"+result8);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result9----:"+result9);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result10----:"+result10);
Log.d("TAG","--------------------------------------------");
}
结果
result1----:你好,张三
--------------------------------------------
result2----:欢迎—张三:李四:王五
--------------------------------------------
result3----:字母b的大写是:B
--------------------------------------------
result4----:你是二狗子吗:false
--------------------------------------------
result5----:100十进制数值:100
--------------------------------------------
result6----:100十六进制数值:65
--------------------------------------------
result7----:100八进制数值:146
--------------------------------------------
result8----:100浮点类型数值:100.000000
--------------------------------------------
result9----:100十六进制浮点类型数值:0x1.94p6
--------------------------------------------
result10----:此商品打:85%
--------------------------------------------
2.事件与日期
规则
代码
private void StringFormatMethod(){
Date date=new Date();
//b的使用,月份简称
String result1=String.format(Locale.US,"英文月份简称:%tb",date);
String result2=String.format("本地月份简称:%tb%n",date);
String result3=String.format(Locale.US,"英文月份全称:%tB",date);
String result4=String.format("本地月份全称:%tB%n",date);
String result5=String.format(Locale.US,"英文星期的简称:%ta",date);
String result6=String.format("本地星期的简称:%tA%n",date);
String result7=String.format("年的前两位数字(不足两位前面补0):%tC%n",date);
String result8=String.format("年的后两位数字(不足两位前面补0):%ty%n",date);
String result9=String.format("一年中的天数(即年的第几天):%tj%n",date);
String result10=String.format("两位数字的月份(不足两位前面补0):%tm%n",date);
String result11=String.format("两位数字的日(不足两位前面补0):%td%n",date);
String result12=String.format("月份的日(前面不补0):%te",date);
String result13=String.format("2位数字24时制的小时(不足2位前面补0):%tH%n", date);
String result14=String.format("2位数字12时制的小时(不足2位前面补0):%tI%n", date);
String result15=String.format("2位数字24时制的小时(前面不补0):%tk%n", date);
String result16=String.format("2位数字12时制的小时(前面不补0):%tl%n", date);
String result17=String.format("2位数字的分钟(不足2位前面补0):%tM%n", date);
String result18=String.format("2位数字的秒(不足2位前面补0):%tS%n", date);
String result19=String.format("3位数字的毫秒(不足3位前面补0):%tL%n", date);
String result20=String.format("9位数字的毫秒数(不足9位前面补0):%tN%n", date);
String result21=String.format(Locale.US, "小写字母的上午或下午标记(英):%tp", date);
String result22=String.format("小写字母的上午或下午标记(中):%tp%n", date);
String result23=String.format("相对于GMT的RFC822时区的偏移量:%tz%n", date);
String result24=String.format("时区缩写字符串:%tZ%n", date);
String result25=String.format("1970-1-1 00:00:00 到现在所经过的秒数:%ts%n", date);
String result26=String.format("1970-1-1 00:00:00 到现在所经过的毫秒数:%tQ%n", date);
Log.d("TAG","result1----:"+result1);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result2----:"+result2);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result3----:"+result3);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result4----:"+result4);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result5----:"+result5);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result6----:"+result6);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result7----:"+result7);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result8----:"+result8);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result9----:"+result9);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result10----:"+result10);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result11----:"+result11);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result12----:"+result12);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result13----:"+result13);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result14----:"+result14);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result15----:"+result15);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result16----:"+result16);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result17----:"+result17);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result18----:"+result18);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result19----:"+result19);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result20----:"+result20);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result21----:"+result21);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result22----:"+result22);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result23----:"+result23);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result24----:"+result24);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result25----:"+result25);
Log.d("TAG","--------------------------------------------");
Log.d("TAG","result26----:"+result26);
Log.d("TAG","--------------------------------------------");
}
结果
result1----:英文月份简称:Jun
--------------------------------------------
result2----:本地月份简称:6月
--------------------------------------------
result3----:英文月份全称:June
--------------------------------------------
result4----:本地月份全称:六月
--------------------------------------------
result5----:英文星期的简称:Tue
--------------------------------------------
result6----:本地星期的简称:星期二
--------------------------------------------
result7----:年的前两位数字(不足两位前面补0):20
--------------------------------------------
result8----:年的后两位数字(不足两位前面补0):18
--------------------------------------------
result9----:一年中的天数(即年的第几天):163
--------------------------------------------
result10----:两位数字的月份(不足两位前面补0):06
--------------------------------------------
result11----:两位数字的日(不足两位前面补0):12
--------------------------------------------
result12----:月份的日(前面不补0):12
--------------------------------------------
result13----:2位数字24时制的小时(不足2位前面补0):16
--------------------------------------------
result14----:2位数字12时制的小时(不足2位前面补0):04
--------------------------------------------
result15----:2位数字24时制的小时(前面不补0):16
--------------------------------------------
result16----:2位数字12时制的小时(前面不补0):4
--------------------------------------------
result17----:2位数字的分钟(不足2位前面补0):40
--------------------------------------------
result18----:2位数字的秒(不足2位前面补0):48
--------------------------------------------
result19----:3位数字的毫秒(不足3位前面补0):656
--------------------------------------------
result20----:9位数字的毫秒数(不足9位前面补0):656000000
--------------------------------------------
result21----:小写字母的上午或下午标记(英):pm
--------------------------------------------
result22----:小写字母的上午或下午标记(中):下午
--------------------------------------------
result23----:相对于GMT的RFC822时区的偏移量:+0800
--------------------------------------------
result24----:时区缩写字符串:GMT+08:00
--------------------------------------------
result25----:1970-1-1 00:00:00 到现在所经过的秒数:1528792848
--------------------------------------------
result26----:1970-1-1 00:00:00 到现在所经过的毫秒数:1528792848656
--------------------------------------------