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