Java中對數字格式化

最近正在利用業餘時間重新學習j2se的一些知識,因爲感覺以前學得太過粗糙了,有時間的話我會把所接觸的一些比較新穎的知識在這裏寫下,願與大家共同分享,一起進步。今天就說說java中數字的格式化。

java.text.DecimalFormat類就是專門對數字進行格式化的。通過對該類的應用,可以爲要輸出的數字加上單位,或者控制數字的精度,用法:可以在DecimalFormat實例化時傳遞格式,也可通過對象調用applyPattern方法來實現設置格式。

代碼演示如下:

package formatnumber;

import java.text.DecimalFormat;

public class FormatNumber {

        public static void main(String[] args) {
                DecimalFormat df = new DecimalFormat();
                double data = 1234.56789;
                System.out.println("格式化之前的數字: " + data);
                String style = "0.0";//定義要顯示的數字的格式
                df.applyPattern(style);// 將格式應用於格式化器
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                style = "00000.000 kg";//在格式後添加諸如單位等字符
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的"#"表示如果該位存在字符,則顯示字符,如果不存在,則不顯示。
                style = "##000.000 kg";
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的"-"表示輸出爲負數,要放在最前面
                style = "-000.000";
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的","在數字中添加逗號,方便讀數字
                style = "-0,000.0#";
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的"E"表示輸出爲指數,"E"之前的字符串是底數的格式,
                // "E"之後的是字符串是指數的格式
                style = "0.00E000";
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的"%"表示乘以100並顯示爲百分數,要放在最後。
                style = "0.00%";
                df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df.format(data));
                // 模式中的"\u2030"表示乘以1000並顯示爲千分數,要放在最後。
                style = "0.00\u2030";
                //在構造函數中設置數字格式
                DecimalFormat df1 = new DecimalFormat(style);
                //df.applyPattern(style);
                System.out.println("採用style: " + style + "格式化之後: " + df1.format(data));
        }
}

程序運行結果爲:
格式化之前的數字: 1234.56789
採用style: 0.0格式化之後: 1234.6
採用style: 00000.000 kg格式化之後: 01234.568 kg
採用style: ##000.000 kg格式化之後: 1234.568 kg
採用style: -000.000格式化之後: -1234.568
採用style: -0,000.0#格式化之後: -1,234.57
採用style: 0.00E000格式化之後: 1.23E003
採用style: 0.00%格式化之後: 123456.79%

採用style: 0.00‰格式化之後: 1234567.89‰


來源:http://www.blogjava.net/daizhenghenry/archive/2008/03/06/184272.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章