引入DecimalFormat类进行数字格式化操作

Posted chuquan.ou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引入DecimalFormat类进行数字格式化操作相关的知识,希望对你有一定的参考价值。

引入语句:
import java.text.DecimalFormat;


首先创建DecimalFormat类对象,利用类对象调用Format()方法进行格式化操作。
这里有两种方法:
①.DecimalFormat  myFormat = new DecimalFormat();
   myFormat.applyPattern(String pattern);
   String str = myFormat.Format(double value);
②.DecimalFormat  myFormat = new DecimalFormat(String pattern);
   String str = myFormat.Format(double value);


pattern格式说明:
0 :如果该位存在数字则输出该数字,如果不存在则输出0;
# :如果该位存在数字则输出该数字,不存在不做任何输出;
. :小数分隔符;
- :负号;
,:分组分隔符;
E :科学计数法中分隔位数和指数;
% :放置在数字的前缀或后缀,将数字乘以100,以百分数输出;
\u2030:放置在数字的前缀或后缀,将数字乘以1000,以千分数输出;
\u00A4: 放置在数字的前缀或后缀,作为货币记号;
‘ : 本符号为单引号,当上述特殊符号出现在数字中时,应为特殊符号添加单引号,系统会将该特殊符号当做普通符号处理;

eg:

 

[java] view plain copy
 
  1. package Number;  
  2. import java.text.DecimalFormat;  
  3. public class IntFunction {  
  4.     public static void MyDecimalFormat(String pattern, double value)  
  5.     {  
  6.         DecimalFormat myFormat = new DecimalFormat();  
  7.         myFormat.applyPattern(pattern);  
  8.         String str = myFormat.format(value);  
  9.         System.out.println(str);  
  10.     }  
  11.     public static void main (String []args)  
  12.     {  
  13.         MyDecimalFormat("#,###.###", 123456.789);  
  14.         MyDecimalFormat("00000000.000kg", 123456.789);  
  15.         MyDecimalFormat("000000.000", 123.78);  
  16.         MyDecimalFormat("#.#%", 0.789);  
  17.         MyDecimalFormat("#.##", 123456.789);  
  18.         MyDecimalFormat("#.00\u2030", 0.789);  
  19.         MyDecimalFormat("#\u00A4", 1234);  
  20.     }  
  21. }  
  22. /*输出结果: 
  23. 123,456.789 
  24. 00123456.789kg 
  25. 000123.780 
  26. 78.9% 
  27. 123456.79 
  28. 789.00‰ 
  29. 1234¥ 
  30. */  


此外还有:
DecimalFormat  myFormat = new DecimalFormat();
myFormat.setGroupingSize(3);//利用逗号进行分组时每个分组的大小,这里为3;
myFormat.setGroupingUsed(false/true);//当为false时上述设置的分组大小无效,为true时才能进行分组;

 

eg:

 

[java] view plain copy
 
    1. package Number;  
    2. import java.text.DecimalFormat;  
    3. public class IntFunction {  
    4.     public static void MyDecimalFormat1(double value)  
    5.     {  
    6.         DecimalFormat myFormat = new DecimalFormat();  
    7.         myFormat.setGroupingSize(3);  
    8.         String str = myFormat.format(value);  
    9.         System.out.println(str);  
    10.     }  
    11.     public static void MyDecimalFormat2(double value)  
    12.     {  
    13.         DecimalFormat myFormat = new DecimalFormat();  
    14.         myFormat.setGroupingSize(3);  
    15.         myFormat.setGroupingUsed(false);  
    16.         String str = myFormat.format(value);  
    17.         System.out.println(str);  
    18.     }  
    19.     public static void main (String []args)  
    20.     {  
    21.         MyDecimalFormat1(123456.789);  
    22.         MyDecimalFormat2(123456.789);  
    23.     }  
    24. }  
    25. /*输出结果: 
    26. 123,456.789 
    27. 123456.789 
    28. */  

以上是关于引入DecimalFormat类进行数字格式化操作的主要内容,如果未能解决你的问题,请参考以下文章

数字格式化

Java基础08—数字类处理

Java基础08—数字类处理

Java—NumberFormat与DecimalFormat类

java中 DecimalFormat类

Java DecimalFormat 用法(数字格式化)