Java String字符串的格式化

JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object… args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

format(String format, Object… args) 使用指定的格式字符串和参数返回一个格式化字符串。format()方法中的字符串格式参数有很多种转换符选项,例如:日期、整数、浮点数等。

一、常规格式化

例子:

<span style="font-family:Microsoft YaHei;font-size:14px;">public static void main(String[] args) {String str=null;str=String.format("Hi,%s", "飞龙");// 格式化字符串System.out.println(str);// 输出字符串变量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');}</span> 运行结果:<span style="font-family:Microsoft YaHei;font-size:14px;">Hi,飞龙字母a的大写是:A3>7的结果是:false100的一半是:50100的16进制数是:64100的8进制数是:14450元的书打8.5折扣是:42.500000 元上面价格的16进制数是:0x1.54p5上面价格的指数表示:4.250000e+01上面价格的指数和浮点数结果的长度较短的是:42.5000上面的折扣是85%字母A的散列码是:41</span> 这些字符串格式参数不但可以灵活将其他数据类型转换成字符串,,而且可以与各种标志组合在一起,生成各种格式的字符串

例子:

<span style="font-family:Microsoft YaHei;font-size:14px;">public static void main(String[] args) {String str=null;str=String.format("格式参数$的使用:%1$d,%2$s", 99,"abc");System.out.println(str);System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);System.out.printf("最牛的编号是:%03d%n", 7);System.out.printf("Tab键的效果是:% 8d%n", 7);System.out.printf("整数分组的效果是:%,d%n", 9989997);System.out.printf("一本书的价格是:%2.2f元%n", 49.8);}</span> 运行结果:<span style="font-family:Microsoft YaHei;font-size:14px;">格式参数$的使用:99,abc显示正负数的符号:+99与-99最牛的编号是:007Tab键的效果是:7整数分组的效果是:9,989,997一本书的价格是:49.80元</span>二、常见日期时间格式化

例子:

<span style="font-family:Microsoft YaHei;font-size:14px;">public static void main(String[] args) {Date date=new Date();System.out.printf("全部日期和时间信息:%tc%n",date);System.out.printf("年-月-日格式:%tF%n",date);System.out.printf("月/日/年格式:%tD%n",date);System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);System.out.printf("HH:MM格式(24时制):%tR",date);}</span> 运行结果:<span style="font-family:Microsoft YaHei;font-size:14px;">全部日期和时间信息:星期日十月28 13:53:24 CST 2007年-月-日格式:2007-10-28月/日/年格式:10/28/07HH:MM:SS PM格式(12时制):01:53:24 下午HH:MM:SS格式(24时制):13:53:24HH:MM格式(24时制):13:53</span>三、格式化日期字符串

例子:

<span style="font-family:Microsoft YaHei;font-size:14px;">public static void main(String[] args) {Date date=new Date();String str=String.format(Locale.US,"英文月份简称:%tb",date);System.out.println(str);System.out.printf("本地月份简称:%tb%n",date);str=String.format(Locale.US,"英文月份全称:%tB",date);System.out.println(str);System.out.printf("本地月份全称:%tB%n",date);str=String.format(Locale.US,"英文星期的简称:%ta",date);System.out.println(str);System.out.printf("本地星期的简称:%tA%n",date);System.out.printf("年的前两位数字(不足两位前面补0):%tC%n",date);System.out.printf("年的后两位数字(不足两位前面补0):%ty%n",date);System.out.printf("一年中的天数(即年的第几天):%tj%n",date);System.out.printf("两位数字的月份(不足两位前面补0):%tm%n",date);System.out.printf("两位数字的日(不足两位前面补0):%td%n",date);System.out.printf("月份的日(前面不补0):%te",date);}</span> 运行结果:<span style="font-family:Microsoft YaHei;font-size:14px;">英文月份简称:Oct本地月份简称:十月英文月份全称:October本地月份全称:十月英文星期的简称:Sun本地星期的简称:星期日年的前两位数字(不足两位前面补0):20年的后两位数字(不足两位前面补0):07一年中的天数(即年的第几天):301两位数字的月份(不足两位前面补0):10两位数字的日(不足两位前面补0):28月份的日(前面不补0):28</span>四、格式化时间字符串绊脚石乃是进身之阶。

Java String字符串的格式化

相关文章:

你感兴趣的文章:

标签云: