溫馨提示×

java中NumberFormat和DecimalFormat的介紹及使用

小億
94
2023-12-20 20:30:34
欄目: 編程語言

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ù)字。

0