DecimalFormat 是 NumberFormat 的一個具體子類,用于格式化十進制數字。
DecimalFormat 包含一個模式 和一組符號
符號含義:
下列字符用在非本地化的模式中。已本地化的模式使用從此 formatter 的 DecimalFormatSymbols 對象中獲得的相應字符,這些字符已失去其特殊狀態。兩種例外是貨幣符號和引號,不將其本地化。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
import java.text.DecimalFormat; public class TestDecimalFormat { public static void main(String[] args) { DecimalFormat df = new DecimalFormat(); double data = 1203.405607809 ; System.out.println( "格式化之前:" + data); String pattern = "0.0" ; //1203.4 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); // 可以在模式后加上自己想要的任何字符,比如單位 pattern = "00000000.000kg" ; //00001203.406kg df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //#表示如果存在就顯示字符,如果不存在就不顯示,只能用在模式的兩頭 pattern = "##000.000kg" ; //1203.406kg df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //-表示輸出為負數,必須放在最前面 pattern = "-000.000" ; //-1203.406 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //,是分組分隔符 :輸出結果12,03.41 pattern = "-0,00.0#" ; //-12,03.41 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //E表示輸出為指數,”E“之前的字符串是底數的格式,之后的是指數的格式。 pattern = "0.00E000" ; //1.20E003 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //%表示乘以100并顯示為百分數,要放在最后 pattern = "0.00%" ; //120340.56% df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //"\u2030"表示乘以1000并顯示為千分數,要放在最后 pattern = "0.00\u2030" ; //203405.61‰ df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //"\u00A4"貨幣符號,要放在兩端*****1203.41¥ pattern = "0.00\u00A4" ; //1203.41¥ df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //'用于在前綴或或后綴中為特殊字符加引號,要創建單引號本身,請連續使用兩個單引號:"# o''clock"。 pattern = "'#'#" ; //#1203 // pattern = "'#'" ;//#1203 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); pattern = "# o''clock" ; //1203 o'clock df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); //''放在中間或后面單引號就顯示在最后,放在最前面單引號就顯示在最前 // pattern = "# o''clock.000" ;//1203.406 o'clock // pattern = "# .000o''clock";//1203.406 o'clock // pattern = "# .000''";//1203.406 ' // pattern = "# .''000";//1203.406 ' pattern = "''# .000" ; //'1203.406 df.applyPattern(pattern); System.out.println( "采用" + pattern + "模式格式化后:" + df.format(data)); } } |
輸出結果為:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
格式化之前: 1203.405607809 采用 0.0 模式格式化后: 1203.4 采用 00000000 .000kg模式格式化后: 00001203 .406kg 采用## 000 .000kg模式格式化后: 1203 .406kg 采用- 000.000 模式格式化后:- 1203.406 采用- 0 , 00.0 #模式格式化后:- 12 , 03.41 采用 0 .00E000模式格式化后: 1 .20E003 采用 0.00 %模式格式化后: 120340.56 % 采用 0.00 ‰模式格式化后: 1203405.61 ‰ 采用 0.00 ¤模式格式化后: 1203.41 ¥ 采用 '#' #模式格式化后:# 1203 采用# o '' clock模式格式化后: 1203 o'clock 采用 '' # . 000 模式格式化后:' 1203.406 |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/Senssic/article/details/41249303