Java format()方法:格式化字符串

语法1

format(String format,Object……args)

参数说明:

  • format:格式字符串。
  • args:格式字符串中由格式说明符引用的参数。参数数目是可变的,可以为 0。


常规类型的格式化可应用于任何参数类型,可通过表1所示的转换符来实现。
 

表1 常规转换符
转换符说  明示  例
%b、%B格式化为布尔类型false
%h、%H格式化为散列码A05A5198
%s、%S格式化为字符串类型"abc"
%c、%C格式化为字符类型'w'
%d格式化为十进制数26
%0格式化为八进制整数12
%x、%X格式化为十六进制整数4b 1
%e格式化为用计算机科学计数法表示的十进制数1.700000e+01
%a格式化为带有效位数和指数的十六进制浮点值0X1.C000000000001P4
%n结果为特定于平台的行分隔符 
%%结果为字面值%,%

示例

使用 String 类的 format 方法实现将“400/2”返回结果类型转换为字符串,并将“3>5”返回结果格式化为布尔类型。

 
  1. String str = String.format("%d",400/2);
  2. String str2 = String.format("%b",3>5);

将字符串 str 与 str2 在控制台上输出,输出结果如下:
200
false

语法2

通过将给定的特殊转换符作为参数来实现对日期和时间字符串的格式化。

format(Locale l,String format,Object……args)

参数说明:

  • l:格式化过程中要应用的语言环境。如果 l 为 null,则不进行本地化。
  • format:格式字符串。
  • args:格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。


format() 方法常用的日期和时间的格式转换符如表2所示。
 

表2 常见的日期和时间转换符
转换符说 明示 例
%te一个月中的某一天(1〜31)12
%tb指定语言环境的月份简称Jan (英文)、一月(中文)
%tB指定语言环境的月份全称February (英文)、二月(中文)
%tA指定语言环境的星期几全称Monday (英文)、星期一(中文)
%ta指定语言环境的星期几简称Mon (英文)、星期一(中文)
%tc包括全部日期和时间信息星期三 十月 25 13:37:22 CST 2008
%tY4位年份2008
%tj一年中的第几天(001〜366)060
%tm月份05
%td一个月中的第几天(01〜31)07
%ty两位年份08

典型应用

String 类的 format 方法可以格式化日期和时间,本示例实现将当前日期以 4 位年份、月份全称、两位日期形式输出。

本示例的关键代码如下:

 
  1. public static void main(String[] args){
  2. Date date=new Date();//定义Date类对象
  3. Locale form=Locale.US;
  4. String year=String.format(form,"%tY",date);//将当前年份进行格式化
  5. String month=String.format(form,"%tB",date);//将当前月份进行格式化
  6. String day=String.format(form,"%td",date);//将当前日期进行格式化
  7. System.out.println("今年是:"+year+"年");//将格式化后的日期输出
  8. System.out.println("现在是:"+month);
  9. System.out.println("今天是:"+day+"号")
  10. }

运行结果如下:

今年是:2011年
现在是:March
今天是:   22号

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值