DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進制數字。
DecimalFormat 包含一個模式 和一組符號
符號含義:
0 一個數字
# 一個數字,不包括 0
. 小數的分隔符的占位符
, 分組分隔符的占位符
; 分隔格式。
- 缺省負數前綴。
% 乘以 100 和作為百分比顯示
? 乘以 1000 和作為千進制貨幣符顯示;用貨幣符號代替;如果雙寫,用
國際貨幣符號代替。如果出現在一個模式中,用貨幣十進制分隔符代
替十進制分隔符。
X 前綴或后綴中使用的任何其它字符,用來引用前綴或后綴中的特殊字符。
例子:
DecimalFormat df1 = new DecimalFormat("0.0");
DecimalFormat df2 = new DecimalFormat("#.#");
DecimalFormat df3 = new DecimalFormat("000.000");
DecimalFormat df4 = new DecimalFormat("###.###");
System.out.println(df1.format(12.34));
System.out.println(df2.format(12.34));
System.out.println(df3.format(12.34));
System.out.println(df4.format(12.34));
結果:
12.3
12.3
012.340
12.34
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‰