Java 数字格式化

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

DecimalFormat 是 NumberFormat 的一个子类,用于格式化十进制数字。他可以将一些数字格式化为整数、浮点数、百分数等。通过使用该类可以为要输出的数字加上单位或控制数字的精度。

DecimalFormat 类中特殊字符说明

Java 数字格式化_第1张图片
格式化数字的例子

import java.text.DecimalFormat;

public class DecimalFormatSimpleDemo {
    //使用实例化对象时设置格式化模式
    static public void SimpleFormat(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();
        myFormat.applyPattern(pattern);
        System.out.println(value+" "+pattern+" "+myFormat.format(value));
    }
    
    public static void main(String[] args) {
        SimpleFormat("###,###.###", 123456.789);
        SImpleFormat("00000000.###kg", 123456.789);
        //按照格式模式格式化数字,不存在的位以 0 显示
        SimpleFormat("000000.000", 123.78);
        //调用静态 UseApplyPatternMethodDormat()方法
        UseApplyPatternMethodFormat("#.###%", 0.789);
        //将小数点够格式化为两位
        UseApplyPatternMethodFormat("###.##", 123456.789);
        //将数字格式为 千分数形式
        UseApplyPatternMethodFormat("0.00\u2030", 0.789);
    }
}

在 DecimalFormat 类中除了可以设置格式化模式来格式化数字之外,还可以使用一些特殊方法对数字进行格式化设置。
例如分组。。

Import java.text.DecimalFormat;

public class DecimalMethod {
    public static void main(String[] args) {
        DecimalFormat myFormat = new DecimalFormat();
        myFormat.setGroupingSize(2);//设置将数字每两个分一组
        String output = myFormat.format(123456.789);
        System.out.println("将数字以每两个数字分组"+ output );
        myFormat.setGroupingSize(false);//设置不允许分组
        String output = myFormat.format(123456.789);
        System.out.println("不允许数字分组"+ output );
    }

}

你可能感兴趣的:(java)