格式項都采用如下形式:
{index[,alignment][:formatString]}
其中"index"指索引占位符,這個肯定都知道;
",alignment"按字面意思顯然是對齊方式,以","為標記;
":formatString"就是對輸出格式的限定,以":"為標記。
alignment:可選,是一個帶符號的整數,指示首選的格式化字段寬度。如果“對齊”值小於格式化字符串的長度,“對齊”會被忽略,並且使用格式化字符串的長度作為字段寬度。如果“對齊”為正數,字段的格式化數據為右對齊;如果“對齊”為負數,字段的格式化數據為左對齊。如果需要填充,則使用空白。如果指定“對齊”,就需要使用逗號。
formatString:由標准或自定義格式說明符組成.
下表是從網上得來:
| 字符 |
說明 |
示例 |
輸出 |
| C |
貨幣 |
string.Format("{0:C3}", 2) |
$2.000 |
| D |
十進制 |
string.Format("{0:D3}", 2) |
002 |
| E |
科學計數法 |
1.20E+001 |
1.20E+001 |
| G |
常規 |
string.Format("{0:G}", 2) |
2 |
| N |
用分號隔開的數字 |
string.Format("{0:N}", 250000) |
250,000.00 |
| X |
十六進制 |
string.Format("{0:X000}", 12) |
C |
|
|
|
string.Format("{0:000.000}", 12.2) |
012.200 |
| Specifier |
Type |
Format |
Output |
Output |
| c |
Currency |
{0:c} |
$1.42 |
-$12,400 |
| d |
Decimal (Whole number) |
{0:d} |
System. |
-12400 |
| e |
Scientific |
{0:e} |
1.420000e+000 |
-1.240000e+004 |
| f |
Fixed point |
{0:f} |
1.42 |
-12400.00 |
| g |
General |
{0:g} |
1.42 |
-12400 |
| n |
Number with commas for thousands |
{0:n} |
1.42 |
-12,400 |
| r |
Round trippable |
{0:r} |
1.42 |
System. |
| x |
Hexadecimal |
{0:x4} |
System. |
cf90 |
| Specifier |
Type |
Example (Passed System.DateTime.Now) |
| d |
Short date |
10/12/2002 |
| D |
Long date |
December 10, 2002 |
| t |
Short time |
10:11 PM |
| T |
Long time |
10:11:29 PM |
| f |
Full date & time |
December 10, 2002 10:11 PM |
| F |
Full date & time (long) |
December 10, 2002 10:11:29 PM |
| g |
Default date & time |
10/12/2002 10:11 PM |
| G |
Default date & time (long) |
10/12/2002 10:11:29 PM |
| M |
Month day pattern |
December 10 |
| r |
RFC1123 date string |
Tue, 10 Dec 2002 22:11:29 GMT |
| s |
Sortable date string |
2002-12-10T22:11:29 |
| u |
Universal sortable, local time |
2002-12-10 22:13:50Z |
| U |
Universal sortable, GMT |
December 11, 2002 3:13:50 AM |
| Y |
Year month pattern |
December, 2002 |
| Specifier |
Type |
Example |
Example Output |
| dd |
Day |
{0:dd} |
10 |
| ddd |
Day name |
{0:ddd} |
Tue |
| dddd |
Full day name |
{0:dddd} |
Tuesday |
| f, ff, ... |
Second fractions |
{0:fff} |
932 |
| gg, ... |
Era |
{0:gg} |
A.D. |
| hh |
2 digit hour |
{0:hh} |
10 |
| HH |
2 digit hour, 24hr format |
{0:HH} |
22 |
| mm |
Minute 00-59 |
{0:mm} |
38 |
| MM |
Month 01-12 |
{0:MM} |
12 |
| MMM |
Month abbreviation |
{0:MMM} |
Dec |
| MMMM |
Full month name |
{0:MMMM} |
December |
| ss |
Seconds 00-59 |
{0:ss} |
46 |
| tt |
AM or PM |
{0:tt} |
PM |
| yy |
Year, 2 digits |
{0:yy} |
02 |
| yyyy |
Year |
{0:yyyy} |
2002 |
| zz |
Timezone offset, 2 digits |
{0:zz} |
-05 |
| zzz |
Full timezone offset |
{0:zzz} |
-05:00 |
| : |
Separator |
{0:hh:mm:ss} |
10:43:20 |
| / |
Separator |
{0:dd/MM/yyyy} |
10/12/2002 |
示例:
// Console.WriteLine 中各種數據格式的輸出
Console.WriteLine("{0, 8 :C}", 2); // $2.00
Console.WriteLine("{0, 8 :C3}", 2); // $2.000
Console.WriteLine("{0 :D3}", 2); // 002
Console.WriteLine("{0 :E}", 2); // 2.000000E+000
Console.WriteLine("{0 :G}", 2); // 2
Console.WriteLine("{0 :N}", 2500000.00); // 2,500,00.00
Console.WriteLine("{0 :x4}", 12); // 000c
Console.WriteLine("{0, 2 :x}", 12); // c
Console.WriteLine("{0 :000.000}", 12.23); // 012.230
Console.WriteLine("{0 :r}", 15.62); // 15.62
Console.WriteLine("{0 :d}", System.DateTime.Now); // 2012-3-27
Console.WriteLine("{0 :D}", System.DateTime.Now); // 2012年3月27日
Console.WriteLine("{0 :t}", System.DateTime.Now); // 11:43
Console.WriteLine("{0 :T}", System.DateTime.Now); // 11:43:34
Console.WriteLine("{0 :f}", System.DateTime.Now); // 2012年3月27日 11:43
Console.WriteLine("{0 :F}", System.DateTime.Now); // 2012年3月27日 11:43:34
Console.WriteLine("{0 :g}", System.DateTime.Now); // 2012-3-27 11:43
Console.WriteLine("{0 :G}", System.DateTime.Now); // 2012-3-27 11:43:34
Console.WriteLine("{0 :M}", System.DateTime.Now); // 3月27日
Console.WriteLine("{0 :r}", System.DateTime.Now);// Tue, 27 Mar 2012 11:43:34 GMT
Console.WriteLine("{0 :s}", System.DateTime.Now); // 2012-03-27T11:43:34
Console.WriteLine("{0 :u}", System.DateTime.Now); // 2012-03-27 11:43:34Z
Console.WriteLine("{0 :U}", System.DateTime.Now); // 2012年3月27日 3:43:34
Console.WriteLine("{0 :Y}", System.DateTime.Now); // 2012年3月
Console.WriteLine("{0 :dd}", System.DateTime.Now); // 27
Console.WriteLine("{0 :ddd}", System.DateTime.Now); // 二
Console.WriteLine("{0 :dddd}", System.DateTime.Now); // 星期二
Console.WriteLine("{0 :f}", System.DateTime.Now); // 2012年3月27日 11:46
Console.WriteLine("{0 :ff}", System.DateTime.Now); // 18
Console.WriteLine("{0 :fff}", System.DateTime.Now); // 187
Console.WriteLine("{0 :ffff}", System.DateTime.Now); // 1875
Console.WriteLine("{0 :fffff}", System.DateTime.Now); // 18750
Console.WriteLine("{0 :gg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :ggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :gggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :ggggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :gggggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :hh}", System.DateTime.Now); // 11
Console.WriteLine("{0 :HH}", System.DateTime.Now); // 11
Console.WriteLine("{0 :mm}", System.DateTime.Now); // 50
Console.WriteLine("{0 :MM}", System.DateTime.Now); // 03
Console.WriteLine("{0 :MMM}", System.DateTime.Now); // 三月
Console.WriteLine("{0 :MMMM}", System.DateTime.Now); // 三月
Console.WriteLine("{0 :ss}", System.DateTime.Now); // 43
Console.WriteLine("{0 :tt}", System.DateTime.Now); // 上午
Console.WriteLine("{0 :yy}", System.DateTime.Now); // 12
Console.WriteLine("{0 :yyyy}", System.DateTime.Now); // 2012
Console.WriteLine("{0 :zz}", System.DateTime.Now); // +08
Console.WriteLine("{0 :zzz}", System.DateTime.Now); // +08:00
Console.WriteLine("{0 :hh:mm:ss}", System.DateTime.Now); // 11:43:34
Console.WriteLine("{0 :dd/MM/yyyy}", System.DateTime.Now); // 27-03-2012
