Java的NumberFormat類和DecimalFormat類怎么用

小億
96
2024-02-28 18:00:23

NumberFormat類和DecimalFormat類是Java中用于格式化數(shù)字的兩個(gè)類。

NumberFormat類是一個(gè)抽象類,用于格式化和解析數(shù)字。可以通過(guò)調(diào)用靜態(tài)方法getInstance()來(lái)獲取一個(gè)默認(rèn)的NumberFormat對(duì)象,也可以通過(guò)調(diào)用靜態(tài)方法getCurrencyInstance()、getPercentInstance()等獲取特定類型的NumberFormat對(duì)象。然后可以調(diào)用format()方法將數(shù)字格式化為字符串,調(diào)用parse()方法將字符串解析為數(shù)字。

DecimalFormat類是NumberFormat的一個(gè)具體子類,用于格式化和解析十進(jìn)制數(shù)字。可以通過(guò)創(chuàng)建一個(gè)DecimalFormat對(duì)象,設(shè)置格式化的模式,然后調(diào)用format()方法將數(shù)字格式化為字符串,調(diào)用parse()方法將字符串解析為數(shù)字。

以下是一個(gè)示例代碼,演示了如何使用NumberFormat類和DecimalFormat類來(lái)格式化數(shù)字:

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

public class Main {
    public static void main(String[] args) {
        // 使用NumberFormat類格式化數(shù)字
        NumberFormat numberFormat = NumberFormat.getInstance();
        String formattedNumber = numberFormat.format(12345.67);
        System.out.println("Formatted number: " + formattedNumber);
        
        // 使用DecimalFormat類格式化數(shù)字
        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類分別格式化了一個(gè)數(shù)字和一個(gè)十進(jìn)制數(shù),并將結(jié)果打印出來(lái)。然后使用DecimalFormat類解析了一個(gè)格式化的字符串,并將結(jié)果打印出來(lái)。

0