數字的格式在解決實際問題時使用非常普遍,這時可以使用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
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252503.html