首页 > 代码库 > NumberFormat 类

NumberFormat 类

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) ;
	}
};


NumberFormat 类