java.text.DecimalFormat类是NumberFormat的子类,DecimalFormat类的功能是解析和格式化任何语言的数字和任何格式的数字。
在NumberFormat的唯一构造方法是public NumberFormat(),NumberFormat获取当前默认,指定的数字格式的方法是getInstance(),getInstance(Locale);但是DecimalFormat类的构造方法有3种,分别是public DecimalFormat(),public DecimalFormat(String pattern),public DecimalFormat(String pattern,DecimalSymbols symbols)。在最后的构造方法中含有两个参数分别为pattern(模式),symbols(符号),这也说明了在DecimalFormat的类中模式、符号是两个重要参数。模式是包括正数模式和负数模式组成,而且不管正数还是负数模式都是由”前缀(除一些特殊unicode字符外)+数字(整数、小数、指数)+后缀(
除一些特殊unicode字符外)“组成的。
符号包含了:# 代表数字,不包括0;
0 代表数字
- 代表缺省负
. 代标小数点
, 代表分组分割的占位符
; 代表分隔格式
% 代表乘于100或者是作为百分比
? 代表 乘于1000或者作为千进制货币显示
DecimalFormat最常用到的方法为format()和getInstance();
format();是格式化数字,返回值为StringBuffer;
getInstance();是得到默认的数学格式;
getInstance(Locale);是设置指定的数学格式
getInstance();和getInstance(Locale);都是从NumberFormat继承的方法,返回值是NumberFormat,因此可以来设置数字格式。