DecimalFormat的主要功能及使用方法

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 

DecimalFormat 包含一个模式 和一组符号

例子:

 

//12.3
DecimalFormat df1 = new DecimalFormat("0.0");
//12.3
DecimalFormat df2 = new DecimalFormat("#.#");
//012.340
DecimalFormat df3 = new DecimalFormat("000.000");
//12.34
DecimalFormat df4 = new DecimalFormat("###.###");
System.out.println(df1.format(12.34));
System.out.println(df2.format(12.34));
System.out.println(df3.format(12.34));
System.out.println(df4.format(12.34));

 

 

//111,1112,3456.123
DecimalFormat format = new DecimalFormat("###,####.000");    
System.out.println(format.format(111111123456.1227222));   
  
Locale.setDefault(Locale.US);   
//111,111,123,456.123
DecimalFormat usFormat = new DecimalFormat("###,###.000");   
System.out.println(usFormat.format(111111123456.1227222));   
  
DecimalFormat addPattenFormat = new DecimalFormat();   
//111,111,123,456.123
addPattenFormat.applyPattern("##,###.000");                              
System.out.println(addPattenFormat.format(111111123456.1227));   
  
DecimalFormat zhiFormat = new DecimalFormat();   
zhiFormat.applyPattern("0.000E0000");  
//1.000E0004 
System.out.println(zhiFormat.format(10000));  
//1.235E0007                                
System.out.println(zhiFormat.format(12345678.345));                     
  
DecimalFormat percentFormat = new DecimalFormat();
percentFormat.applyPattern("#0.000%");
//30.522%
System.out.println(percentFormat.format(0.3052222)); 

如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。

 

猜你喜欢

转载自elviszhao.iteye.com/blog/2032844