数字格式化

数字的格式化在解决实际问题时使用非常普遍,如表示某超市商品价格,需要保留两位有效数字。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是需要格式化的浮点类型数据。

数字格式化_第1张图片
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);
    }
}

数字格式化_第2张图片
运行结果

你可能感兴趣的:(数字格式化)