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