數字的格式在解決實際問題時使用非常普遍,這時可以使用DedmalFormat類對結果進行格式化處理。例如,將小數位統一成2位,不足2位的以0補齊。


DecimalFormat是NumberFormat的一個子類,用于格式化十進制數字。DecimalFormat類包含一個模式和一組符號,常用符號的說明如表1所示。
表1 DecimalFormat支持的特殊字符
符號 | 說明 |
0 | 顯示數字,如果位數不夠則補 0 |
# | 顯示數字,如果位數不夠不發生變化 |
. | 小數分隔符 |
– | 減號 |
, | 組分隔符 |
E | 分隔科學記數法中的尾數和小數 |
% | 前綴或后綴,乘以 100 后作為百分比顯示 |
? | 乘以 1000 后作為千進制貨幣符顯示。用貨幣符號代替。如果雙寫,用國際貨幣符號代替; 如果出現在一個模式中,用貨幣十進制分隔符代替十進制分隔符 |
例1
下面編寫一個Java程序,演示如何使用DecimalFormat類將數字轉換成各種格式,實現代碼如下。
import java.text.DecimalFormat;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
// 實例化DecimalFormat類的對象,并指定格式
DecimalFormat df1 = new DecimalFormat("0.0");
DecimalFormat df2 = new DecimalFormat("#.#");
DecimalFormat df3 = new DecimalFormat("000.000");
DecimalFormat df4 = new DecimalFormat("###.###");
Scanner scan = new Scanner(System.in);
System.out.print("請輸入一個float類型的數字:");
float f = scan.nextFloat();
// 對輸入的數字應用格式,并輸出結果
System.out.println("0.0 格式:" + df1.format(f));
System.out.println("#.# 格式:" + df2.format(f));
System.out.println("000.000 格式:" + df3.format(f));
System.out.println("###.### 格式:" + df4.format(f));
}
}12345678910111213141516171819復制代碼類型:[java]
執行上述代碼,輸出結果如下所示:
請輸入一個float類型的數字:5487.45697
0.0 格式:5487.5
#.# 格式:5487.5
000.000 格式:5487.457
###.### 格式:5487.45712345復制代碼類型:[java]
請輸入一個float類型的數字:5.0
0.0 格式:5.0
#.# 格式:5
000.000 格式:005.000
###.### 格式:5
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論