转:Java DecimalFormat的主要功能及使用方法

 

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

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

符号含义: 

 

例子:

DecimalFormat df1 = new DecimalFormat("0.0");   
DecimalFormat df2 = new DecimalFormat("#.#");   
DecimalFormat df3 = new DecimalFormat("000.000");   
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));   

运行结果: 
12.3 
12.3 
012.340 
12.34  

DecimalFormat format = new DecimalFormat("###,####.000");   
System.out.println(format.format(111111123456.1227222));   
  
Locale.setDefault(Locale.US);   
DecimalFormat usFormat = new DecimalFormat("###,###.000");   
System.out.println(usFormat.format(111111123456.1227222));   
  
DecimalFormat addPattenFormat = new DecimalFormat();   
addPattenFormat.applyPattern("##,###.000");   
System.out.println(addPattenFormat.format(111111123456.1227));   
  
DecimalFormat zhiFormat = new DecimalFormat();   
zhiFormat.applyPattern("0.000E0000");   
System.out.println(zhiFormat.format(10000));   
System.out.println(zhiFormat.format(12345678.345));   
  
DecimalFormat percentFormat = new DecimalFormat();   
percentFormat.applyPattern("#0.000%");   
System.out.println(percentFormat.format(0.3052222)); 

运行结果 :
1111,1112,3456.123 
111,111,123,456.123 
111,111,123,456.123 
1.000E0004 
1.235E0007 
30.522% 
如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。

 

posted @ 2018-07-10 11:17  我是小菜啊1  阅读(261)  评论(0编辑  收藏  举报