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


如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-09 13:24