温馨提示×

Java的NumberFormat类和DecimalFormat类怎么用

小亿
83
2024-02-28 18:00:23
栏目: 编程语言

NumberFormat类和DecimalFormat类是Java中用于格式化数字的两个类。

NumberFormat类是一个抽象类,用于格式化和解析数字。可以通过调用静态方法getInstance()来获取一个默认的NumberFormat对象,也可以通过调用静态方法getCurrencyInstance()、getPercentInstance()等获取特定类型的NumberFormat对象。然后可以调用format()方法将数字格式化为字符串,调用parse()方法将字符串解析为数字。

DecimalFormat类是NumberFormat的一个具体子类,用于格式化和解析十进制数字。可以通过创建一个DecimalFormat对象,设置格式化的模式,然后调用format()方法将数字格式化为字符串,调用parse()方法将字符串解析为数字。

以下是一个示例代码,演示了如何使用NumberFormat类和DecimalFormat类来格式化数字:

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Main {
    public static void main(String[] args) {
        // 使用NumberFormat类格式化数字
        NumberFormat numberFormat = NumberFormat.getInstance();
        String formattedNumber = numberFormat.format(12345.67);
        System.out.println("Formatted number: " + formattedNumber);
        
        // 使用DecimalFormat类格式化数字
        DecimalFormat decimalFormat = new DecimalFormat("#,###.00");
        String formattedDecimal = decimalFormat.format(12345.67);
        System.out.println("Formatted decimal: " + formattedDecimal);
        
        // 使用DecimalFormat类解析字符串
        try {
            Number parsedNumber = decimalFormat.parse("12,345.67");
            System.out.println("Parsed number: " + parsedNumber);
        } catch (Exception e) {
            System.out.println("Error parsing number");
        }
    }
}

在上面的示例中,我们首先使用NumberFormat类和DecimalFormat类分别格式化了一个数字和一个十进制数,并将结果打印出来。然后使用DecimalFormat类解析了一个格式化的字符串,并将结果打印出来。

0