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

时间:2023-03-08 23:24:59
引入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:

  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:

    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. */

相关文章