NumberFormat 表示数字的格式化类, 即:能够依照本地的风格习惯进行数字的显示。

此类的定义例如以下:

public abstract class NumberFormat extends Format

MessageFormat 、DateFormat 、NumberFormat 是 Format 三个经常使用的子类,假设要想进一步完毕一个好的国际化程序,则肯定须要同一时候使用这样三个类完毕,依据不同的国家显示贷币的形式。

此类还是在java.text 包中,所以直接导入此包就可以。

import java.text.* ;
public class NumberFormatDemo01{
public static void main(String args[]){
NumberFormat nf = null ; // 声明一个NumberFormat对象
nf = NumberFormat.getInstance() ; // 得到默认的数字格式化显示
System.out.println("格式化之后的数字:" + nf.format(10000000)) ;
System.out.println("格式化之后的数字:" + nf.format(1000.345)) ;
}
};

DecimalFormat 的基本使用

是NumberFormat 类的子类,基本的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat 更加方便,由于能够直接指定按用户自己定义方式进行格式化操作,与之前讲的SimpleDateFormat类似,假设要想进行自己定义格式化操作,则必须指定格式化操作的模板。

import java.text.* ;
class FormatDemo{
public void format1(String pattern,double value){ // 此方法专门用于完毕数字的格式化显示
DecimalFormat df = null ; // 声明一个DecimalFormat类的对象
df = new DecimalFormat(pattern) ; // 实例化对象,传入模板
String str = df.format(value) ; // 格式化数字
System.out.println("使用" + pattern
+ "格式化数字" + value + ":" + str) ;
}
};
public class NumberFormatDemo02{
public static void main(String args[]){
FormatDemo demo = new FormatDemo() ; // 格式化对象的类
demo.format1("###,###.###",111222.34567) ;
demo.format1("000,000.000",11222.34567) ;
demo.format1("###,###.###¥",111222.34567) ;
demo.format1("000,000.000¥",11222.34567) ;
demo.format1("##.###%",0.345678) ;
demo.format1("00.###%",0.0345678) ;
demo.format1("###.###\u2030",0.345678) ;
}
};