Format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类
Java 平台为格式化日期、消息和数字分别提供了三个特殊的 Format 的子类:DateFormat、MessageFormat 和 NumberFormat方法 String format(Object obj) 格式化一个对象以生成一个字符串。DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间方法:1.获取DateFormat对象1.1static DateFormat getDateInstance() 获取日期格式器,该格式器具有默认语言环境的默认格式化风格1.2 static DateFormat getDateInstance(int style, Locale aLocale) 获取日期格式器,该格式器具有给定语言环境的给定格式化风格1.3 static DateFormat getDateTimeInstance(int dateStyle, int timeStyle) 获取日期/时间格式器,该格式器具有默认语言环境的给定日期和时间格式化风格1.4 static DateFormat getTimeInstance(int style) 获取时间格式器,该格式器具有默认语言环境的给定格式化风格 eg:Date date=new Date(); SimpleDateFormat df=new SimpleDateFormat("hh:mm:ss"); System.out.println(df.format(date));01:37:15 DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 符号含义:0 一个数字
# 一个数字,不包括 0
. 小数的分隔符的占位符
, 分组分隔符的占位符
; 分隔格式。
- 缺省负数前缀。
% 乘以 100 和作为百分比显示
? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用
国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代
替十进制分隔符。
X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。
例子:
DecimalFormat df1 = new DecimalFormat("00.0000");
System.out.println(df1.format(123.12));0:代表数字 长了补0短了不变DecimalFormat df1 = new DecimalFormat("##.###");
System.out.println(df1.format(123.12));#:正好相反 长了不补 短了就省 DecimalFormat format = new DecimalFormat("###,####.000"); System.out.println(format.format(111111123456.1227222)); Locale.setDefault(Locale.US); DecimalFormat usFormat = new DecimalFormat("###,###.000"); System.out.println(usFormat.format(111111123456.1227222)); DecimalFormat addPattenFormat = new DecimalFormat(); addPattenFormat.applyPattern("##,###.000"); System.out.println(addPattenFormat.format(111111123456.1227)); DecimalFormat zhiFormat = new DecimalFormat(); zhiFormat.applyPattern("0.000E0000"); System.out.println(zhiFormat.format(10000)); System.out.println(zhiFormat.format(12345678.345)); DecimalFormat percentFormat = new DecimalFormat(); percentFormat.applyPattern("#0.000%"); System.out.println(percentFormat.format(0.3052222));1111,1112,3456.123 111,111,123,456.123 111,111,123,456.123 1.000E0004 1.235E0007 30.522% 如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。MessageFormat 提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。
MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置