NumberFormat和DecimalFormat是Java中用于格式化數字的類。
NumberFormat是一個抽象類,它提供了格式化和解析數字的方法。它的常用子類有DecimalFormat和ChoiceFormat。
DecimalFormat是NumberFormat的一個具體子類,它可以用于格式化數字為特定的模式。它可以指定小數位數、千位分隔符、貨幣符號等。
下面是一個使用DecimalFormat格式化數字的例子:
double number = 12345.6789;
DecimalFormat df = new DecimalFormat("#,##0.00");
String formattedNumber = df.format(number);
System.out.println(formattedNumber);
輸出結果為:12,345.68
在上面的例子中,我們使用了一個模式字符串#,##0.00
來指定格式化的規則。其中#,##0
表示千位分隔符,.00
表示保留兩位小數。
除了格式化數字,DecimalFormat還可以解析字符串為數字。例如:
String str = "1,234.56";
double parsedNumber = df.parse(str).doubleValue();
System.out.println(parsedNumber);
輸出結果為:1234.56
上面的例子中,我們使用df.parse(str)
方法將字符串解析為數字。
除了DecimalFormat,NumberFormat還提供了其他方法用于格式化和解析數字,比如getCurrencyInstance()用于格式化為貨幣形式,getPercentInstance()用于格式化為百分數形式等。
總之,NumberFormat和DecimalFormat是Java中用于格式化數字的類,可以將數字格式化為指定的模式,也可以將字符串解析為數字。