美文网首页
数字格式化

数字格式化

作者: ZChao_b56b | 来源:发表于2019-02-03 20:36 被阅读0次

    数字的格式化在解决实际问题时使用非常普遍,如表示某超市商品价格,需要保留两位有效数字。Java主要对浮点型数据进行数字格式化操作,其中浮点型数据包括double型和float型数据,在Java中使用java.text.DecimalFormat格式化数字。

    一般情况下可以通过实例化DecimalFormat对象时传递数字格式,也可以通过DecimalFormat类中的applyPattern()方法来实现数字格式化。例如:

    //通过实例化DecimalFormat对象时传递数字格式
    DecimalFormat myFormat =  new DecimalFormat(pattern);    
    System.out.println(myFormat.format(value));
    
    //通过DecimalFormat类中的applyPattern()方法来实现数字格式化
    DecimalFormat myFormat =  new DecimalFormat();
    myFormat.applyPattern(pattern);
    System.out.println(myFormat.format(value));
    

    其中参数patternString类型的格式化模板,如:#.####.##%等等。参数value是需要格式化的浮点类型数据。

    DecimalFormat类中特殊字符说明

    例子:

    import java.text.DecimalFormat;
    
    public class DecimalFormatSimpleDemo {
        // 使用实例化对象时设置格式化模式
        static public void SimgleFormat(String pattern, double value) {
            // 实例化DecimalFormat对象
            DecimalFormat myFormat = new DecimalFormat(pattern); 
            String output = myFormat.format(value); // 将数字进行格式化
            System.out.println(value + " " + pattern + " " + output);
        }
        
        // 使用applyPattern()方法对数字进行格式化
        static public void UseApplyPatternMethodFormat(String pattern, double value) {
            DecimalFormat myFormat=new DecimalFormat();//实例化DecimalFormat对象
            myFormat.applyPattern(pattern); // 调用applyPatten()方法设置格式化模板
            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()方法
            UseApplyPatternMethodFormat("#.###%", 0.789); // 将数字转换为百分数形式
            // 将小数点后格式化为两位
            UseApplyPatternMethodFormat("###.##", 123456.789);
            // 将数字转化为千分数形式
            UseApplyPatternMethodFormat("0.00\u2030", 0.789);
        }
    }
    
    
    运行结果

    相关文章

      网友评论

          本文标题:数字格式化

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