資料的格式化,其實就是資料類型到字元串的資料轉換,隻不過,這種轉換的級别更加高。
.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
以下代碼描述了,日期格式化的簡單方式

DateTime dt = DateTime.Now;

System.Console.WriteLine("短日期模式/t{0}", dt.ToString("d"));//2007-2-16

System.Console.WriteLine("長日期模式/t{0}", dt.ToString("D"));//2007年2月16日

System.Console.WriteLine("短時間模式/t{0}", dt.ToString("t"));//21:50

System.Console.WriteLine("長時間模式/t{0}", dt.ToString("T"));//21:50:19

System.Console.WriteLine("短完整模式/t{0}", dt.ToString("f"));//2007年2月16日 21:50

System.Console.WriteLine("長完整模式/t{0}", dt.ToString("F"));//2007年2月16日 21:50:19

System.Console.WriteLine("短正常模式/t{0}", dt.ToString("g"));//2007-2-16 21:50

System.Console.WriteLine("長正常模式/t{0}", dt.ToString("G"));//2007-2-16 21:50:19

System.Console.WriteLine("RFC1132模式/t{0}", dt.ToString("R"));//Fri, 16 Feb 2007 21:50:19 GMT

System.Console.WriteLine("ISO8601模式/t{0}", dt.ToString("s"));//2007-02-16T21:50:19

System.Console.WriteLine("通用模式/t{0}", dt.ToString("u"));//2007-02-16 21:50:19Z

System.Console.WriteLine("通用模式/t{0}", dt.ToString("U"));//2007年2月16日 13:50:19

System.Console.WriteLine("年月模式/t{0}", dt.ToString("Y"));//2007年2月
日期的格式化,還允許自定義的方式
下面代碼描述了日期的自定義格式


System.Console.WriteLine("目前日期/t{0}",dt.ToString("今天是d号"));

System.Console.WriteLine("有前導的目前日期/t{0}", dt.ToString("今天是dd号"));

System.Console.WriteLine("日期縮寫/t{0}", dt.ToString("今天是ddd"));

System.Console.WriteLine("日期全名/t{0}", dt.ToString("今天是dddd"));

System.Console.WriteLine("秒/t{0}", dt.ToString("現在的秒是f"));

System.Console.WriteLine("秒的最高7位/t{0}", dt.ToString("現在秒是fffffff"));

System.Console.WriteLine("年代/t{0}", dt.ToString("現在是g紀年"));

System.Console.WriteLine("1-12小時模式/t{0}", dt.ToString("現在是hh點"));

System.Console.WriteLine("0-23小時模式/t{0}", dt.ToString("現在是HH點"));

System.Console.WriteLine("分鐘/t{0}", dt.ToString("現在是mm分鐘"));

System.Console.WriteLine("月份/t{0}", dt.ToString("現在是MM月"));

System.Console.WriteLine("月縮寫/t{0}", dt.ToString("現在是MMM"));

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

本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/806262