数据的格式化,其实就是数据类型到字符串的数据转换,只不过,这种转换的级别更加高。
.NET Framework 提供了一种一致、灵活而且全面的方式,使您能够将任何数值、枚举以及日期和时间等基数据类型表示为字符串。格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值。
除了对于数据格式的显示提供了方法,.NET Framework 还使用区域性设置,以便用适合于特定区域性的形式表示基类型。您可以提供自定义的区域性设置,或者使用与当前线程关联的默认区域性设置。
.NET Framework 提供了 标准数字格式字符串,标准 DateTime 格式字符串,枚举格式字符串
 
以下代码描述了标准数字格式字符串的方式
1 double d = 1234.5678 ;
2 System.Console.WriteLine( " 数字原型/t{0} " , d.ToString()); // 1234.5678
3 System.Console.WriteLine( " 货币格式/t{0} " , d.ToString( " C " )); // ¥1,234.57
4 System.Console.WriteLine( " 十进制格式/t{0} " , (( int )d).ToString( " D " )); // 1234
5 System.Console.WriteLine( " 指数格式/t{0} " , d.ToString( " E " )); // 1.234568E+003
6 System.Console.WriteLine( " 固定点格式/t{0} " , d.ToString( " F " )); // 1234.57
7 System.Console.WriteLine( " 固定点格式3精度/t{0} " , d.ToString( " F3 " )); // 1234.568
8 System.Console.WriteLine( " 常规制格/t{0} " , d.ToString( " G " )); // 1234.5678
9 System.Console.WriteLine( " 数字格式/t{0} " , d.ToString( " N " )); // 1,234.57
10 System.Console.WriteLine( " 数字格式精度1/t{0} " , d.ToString( " N1 " )); // 1,234.6
11 System.Console.WriteLine( " 百分比格式/t{0} " , d.ToString( " P " )); // 123,456.78%
12 System.Console.WriteLine( " 百分比格式2精度/t{0} " , d.ToString( " P2 " )); // 123,456.78%
13 System.Console.WriteLine( " 往返过程格式/t{0} " , d.ToString( " R " )); // 1234.5678
14 System.Console.WriteLine( " 十六进制格式/t{0} " , (( int )d).ToString( " X " )); // 4D2
以下代码描述了,日期格式化的简单方式

1 DateTime dt = DateTime.Now;
2 System.Console.WriteLine( " 短日期模式/t{0} " , dt.ToString( " d " )); // 2007-2-16
3 System.Console.WriteLine( " 长日期模式/t{0} " , dt.ToString( " D " )); // 2007年2月16日
4 System.Console.WriteLine( " 短时间模式/t{0} " , dt.ToString( " t " )); // 21:50
5 System.Console.WriteLine( " 长时间模式/t{0} " , dt.ToString( " T " )); // 21:50:19
6 System.Console.WriteLine( " 短完整模式/t{0} " , dt.ToString( " f " )); // 2007年2月16日 21:50
7 System.Console.WriteLine( " 长完整模式/t{0} " , dt.ToString( " F " )); // 2007年2月16日 21:50:19
8 System.Console.WriteLine( " 短常规模式/t{0} " , dt.ToString( " g " )); // 2007-2-16 21:50
9 System.Console.WriteLine( " 长常规模式/t{0} " , dt.ToString( " G " )); // 2007-2-16 21:50:19
10 System.Console.WriteLine( " RFC1132模式/t{0} " , dt.ToString( " R " )); // Fri, 16 Feb 2007 21:50:19 GMT
11 System.Console.WriteLine( " ISO8601模式/t{0} " , dt.ToString( " s " )); // 2007-02-16T21:50:19
12 System.Console.WriteLine( " 通用模式/t{0} " , dt.ToString( " u " )); // 2007-02-16 21:50:19Z
13 System.Console.WriteLine( " 通用模式/t{0} " , dt.ToString( " U " )); // 2007年2月16日 13:50:19
14 System.Console.WriteLine( " 年月模式/t{0} " , dt.ToString( " Y " )); // 2007年2月


日期的格式化,还允许自定义的方式
下面代码描述了日期的自定义格式
1 DateTime dt = DateTime.Now;
2 System.Console.WriteLine( " 当前日期/t{0} " ,dt.ToString( " 今天是d号 " ));
3 System.Console.WriteLine( " 有前导的当前日期/t{0} " , dt.ToString( " 今天是dd号 " ));
4 System.Console.WriteLine( " 日期缩写/t{0} " , dt.ToString( " 今天是ddd " ));
5 System.Console.WriteLine( " 日期全名/t{0} " , dt.ToString( " 今天是dddd " ));
6 System.Console.WriteLine( " 秒/t{0} " , dt.ToString( " 现在的秒是f " ));
7 System.Console.WriteLine( " 秒的最高7位/t{0} " , dt.ToString( " 现在秒是fffffff " ));
8 System.Console.WriteLine( " 年代/t{0} " , dt.ToString( " 现在是g纪年 " ));
9 System.Console.WriteLine( " 1-12小时模式/t{0} " , dt.ToString( " 现在是hh点 " ));
10 System.Console.WriteLine( " 0-23小时模式/t{0} " , dt.ToString( " 现在是HH点 " ));
11 System.Console.WriteLine( " 分钟/t{0} " , dt.ToString( " 现在是mm分钟 " ));
12 System.Console.WriteLine( " 月份/t{0} " , dt.ToString( " 现在是MM月 " ));
13 System.Console.WriteLine( " 月缩写/t{0} " , dt.ToString( " 现在是MMM " ));
14 System.Console.WriteLine( " 月全名/t{0} " , dt.ToString( " 现在是MMMM " ));
15 System.Console.WriteLine( " A.M./P.M/t{0} " , dt.ToString( " 现在是t " ));
16 System.Console.WriteLine( " A.M./P.M/t{0} " , dt.ToString( " 现在是tt " ));
17 System.Console.WriteLine( " 秒/t{0} " , dt.ToString( " 现在是ss " ));
18 System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是y年 " ));
19 System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是yy年 " ));
20 System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是yyyy年 " ));
21 System.Console.WriteLine( " 标准时差/t{0} " , dt.ToString( " 现在是z " ));
22 System.Console.WriteLine( " 标准时差/t{0} " , dt.ToString( " 现在是zz " ));
23 System.Console.WriteLine( " 现在的时间是:{0} " , dt.ToString( " g yyyy年 MM月 dd日 tt HH:mm:ss 和标准时差zz " ));
24