美文网首页
数字格式化

数字格式化

作者: 薛落花随泪绽放 | 来源:发表于2019-07-02 10:05 被阅读0次
    数字格式化操作主要针对的是浮点型数据,包括double型和float型数据。
    在Java中没有格式化的数据遵循以下原则;
    如果数据绝对值大于0.001并且小于10000000,使以常规小数形式显示。
    如果数据绝对值小于0.001或者大于10000000,使用科学记数法表示。
    DecimalFormat是NumberFormat的一个子类,用于格式化十进制数字。

    表9.1 DecimalFormat类中特殊字符说明

    字符 说明
    0 代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该为不存在数字,则显示0
    # 代表阿拉伯数字,使用特殊字符“#”表示数字的一位阿拉伯数字,如果该位存在数字,则显示字符;如果该位不存在数字,则不显示
    . 小数分隔符或货币小数分隔符
    - 负号
    , 分组分隔符
    E 分割科学记数法中的尾数和指数
    % 本符号放置在数字的前缀或后缀,将数字乘以100显示为百分数
    \u2030 本符号放置在数字的前缀或后缀,将数字乘以1000显示为千分数
    \u00A4 本符号放置在数字的前缀或后缀,作为货币记号
    ' 本符号为单引号,当上述特殊字符出现在数字中时,应为特殊符号添加单引号,系统会将此符号视为普通符号处理

    例题

    创建类DecimalFormatSimpleDemo
    import java.text.DecimalFormat;
    /**
     * 數字格式化
     * @author 16276
     *
     */
    public class DecimalFormatSimpleDemo {
        //使用实例化对象时设置格式化模式
        static public void SimgleFormat(String pattren,double value) {
            DecimalFormat myFormat = new DecimalFormat(pattren);//实例化DecimalFormat对象
            String output = myFormat.format(value);     //将数字进行格式化
            System.out.println(value+" "+pattren+" "+output);
        }
        //使用applyPattern()方法对数字进行格式化
        static public void UseApplyPaternMethodFormat(String pattern,double value) {
            DecimalFormat myFormat = new DecimalFormat();   //实例化DecimalFormat对象
            myFormat.applyPattern(pattern);     //调用applyPattern()方法设置格式化模板
            System.out.println(value+" "+pattern+" "+myFormat.format(value));
        }
        public static void main(String[] args) {
            SimgleFormat("###,###.###", 123456.789);        //调用静态SimgleFormat()方法
            SimgleFormat("00000000.###kg", 123456.789);     //在数字后加上单位
            //按照格式模板格式化数字,不存在的位以0显示
            SimgleFormat("000000.000", 123.78);
            //调用静态UseApplyPatternMethodFormat()方法
            UseApplyPaternMethodFormat("#.###%", 0.789);    //将数字转换为百分数形式
            UseApplyPaternMethodFormat("###.##", 123456.789); //将小数点后格式化为两位
            UseApplyPaternMethodFormat("0.00\u2030", 0.789);  //将数字转化为千分数形式
        }
    }
    123456.789 ###,###.### 123,456.789
    123456.789 00000000.###kg 00123456.789kg
    123.78 000000.000 000123.780
    0.789 #.###% 78.9%
    123456.789 ###.## 123456.79
    0.789 0.00‰ 789.00‰
    
    创建类DecimalMethod
    import java.text.DecimalFormat;
    
    public class DecimalMethod {
        public static void main(String[] args) {
            DecimalFormat myFormat = new DecimalFormat();
            myFormat.setGroupingSize(2);        //设置将数字分组为2
            String output = myFormat.format(123456.789);
            System.out.println("将数字以每两个数字分组"+output);
            myFormat.setGroupingUsed(false);            //设置不允许数字进行分组
            String output2 = myFormat.format(123456.789);
            System.out.println("不允许数字分组"+output2);
        }
    }
    将数字以每两个数字分组12,34,56.789
    不允许数字分组123456.789
    

    相关文章

      网友评论

          本文标题:数字格式化

          本文链接:https://www.haomeiwen.com/subject/hfiacctx.html