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