DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

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

  符号含义: 

  0 一个数字 

  # 一个数字,不包括 0 

  . 小数的分隔符的占位符 

  , 分组分隔符的占位符 

  ; 分隔格式。 

  - 缺省负数前缀。 

  % 乘以 100 和作为百分比显示 

  ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用 

  国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代 

  替十进制分隔符。 

  X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。 

  例子: 

  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 df = new DecimalFormat();
        double data = 1234.56789;
        System.out.println(\"格式化之前的数字: \" + data);
        String style = \"0.0\";//定义要显示的数字的格式
        df.applyPattern(style);// 将格式应用于格式化器
        System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
        style = \"00000.000 kg\";//在格式后添加诸如单位等字符
        df.applyPattern(style);
        System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"#\"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
       style = \"##000.000 kg\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"-\"表示输出为负数,要放在最前面
       style = \"-000.000\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\",\"在数字中添加逗号,方便读数字
       style = \"-0,000.0#\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"E\"表示输出为指数,\"E\"之前的字符串是底数的格式,
       // \"E\"之后的是字符串是指数的格式
       style = \"0.00E000\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"%\"表示乘以100并显示为百分数,要放在最后。
       style = \"0.00%\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"\\u2030\"表示乘以1000并显示为千分数,要放在最后。
       style = \"0.00\\u2030\";
       //在构造函数中设置数字格式
       DecimalFormat df1 = new DecimalFormat(style);
       //df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df1.format(data));
DecimalFormat df = new DecimalFormat();
        double data = 1234.56789;
        System.out.println(\"格式化之前的数字: \" + data);
        String style = \"0.0\";//定义要显示的数字的格式
        df.applyPattern(style);// 将格式应用于格式化器
        System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
        style = \"00000.000 kg\";//在格式后添加诸如单位等字符
        df.applyPattern(style);
        System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"#\"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
       style = \"##000.000 kg\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"-\"表示输出为负数,要放在最前面
       style = \"-000.000\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\",\"在数字中添加逗号,方便读数字
       style = \"-0,000.0#\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"E\"表示输出为指数,\"E\"之前的字符串是底数的格式,
       // \"E\"之后的是字符串是指数的格式
       style = \"0.00E000\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"%\"表示乘以100并显示为百分数,要放在最后。
       style = \"0.00%\";
       df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df.format(data));
       // 模式中的\"\\u2030\"表示乘以1000并显示为千分数,要放在最后。
       style = \"0.00\\u2030\";
       //在构造函数中设置数字格式
       DecimalFormat df1 = new DecimalFormat(style);
       //df.applyPattern(style);
       System.out.println(\"采用style: \" + style + \"  格式化之后: \" + df1.format(data));

格式化之前的数字: 1234.56789
采用style: 0.0  格式化之后: 1234.6
采用style: 00000.000 kg  格式化之后: 01234.568 kg
采用style: ##000.000 kg  格式化之后: 1234.568 kg
采用style: -000.000  格式化之后: -1234.568
采用style: -0,000.0#  格式化之后: -1,234.57
采用style: 0.00E000  格式化之后: 1.23E003
采用style: 0.00%  格式化之后: 123456.79%
采用style: 0.00‰  格式化之后: 1234567.89‰

 

 

转载地址:https://www.cnblogs.com/kevin1990/p/6229152.html

收藏 打印