C語言中文網 目錄

Java數字格式化

數字的格式在解決實際問題時使用非常普遍,這時可以使用 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));
    }
}

執行上述代碼,輸出結果如下所示:
請輸入一個float類型的數字:5487.45697
0.0 格式:5487.5
#.# 格式:5487.5
000.000 格式:5487.457
###.### 格式:5487.457
請輸入一個float類型的數字:5.0
0.0 格式:5.0
#.# 格式:5
000.000 格式:005.000
###.### 格式:5

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo