格式项都采用如下形式:
{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 forthousands  | {0:n}  | 1.42  | -12,400  | 
r  | Round trippable  | {0:r}  | 1.42  | System.  | 
x  | Hexadecimal  | {0:x4}  | System.  | cf90  | 
Specifier  | Type  | Example (PassedSystem.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:29PM  | 
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:29GMT  | 
s  | Sortable date string  | 2002-12-10T22:11:29  | 
u  | Universal sortable, localtime  | 2002-12-10 22:13:50Z  | 
U  | Universal sortable, GMT  | December 11, 2002 3:13:50AM  | 
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-2711:43
Console.WriteLine("{0 :G}", System.DateTime.Now);// 2012-3-2711:43:34
Console.WriteLine("{0 :M}", System.DateTime.Now);// 3月27日
Console.WriteLine("{0 :r}", System.DateTime.Now);// Tue, 27 Mar 2012 11:43:34GMT
Console.WriteLine("{0 :s}", System.DateTime.Now);// 2012-03-27T11:43:34
Console.WriteLine("{0 :u}", System.DateTime.Now);// 2012-03-2711: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
爱华网



