讓我們觀察下列代碼,它展示使用字符串格式修飾符創建定制格式的日期和時間字符串:
DateTime dt = DateTime.Now;
Console.WriteLine(string.Format("Default format: {0}", dt.ToString()));
Console.WriteLine(dt.ToString("dddd dd MMMM, yyyy g"));
Console.WriteLine(string.Format("Custom Format 1: {0:MM/dd/yy hh:mm:sstt}", dt));
Console.WriteLine(string.Format("Custom Format 2: {0:hh:mm:sstt G\\MT zz}", dt));
下面是前面代碼的輸出:
Default format: 9/24/2005 12:59:49 PM
Saturday 24 September, 2005 A.D.
Custom Format 1: 09/24/05 12:59:49PM
Custom Format 2: 12:59:49PM GMT -06
你還可以提供針對數字值的定制格式修飾符。表格2描述了適用於數字值的定制格式修飾符。
表格2.數字定制格式修飾符
修飾符 描述 0 零占位符。 # 數字占位符。如果給定的值中在#修飾符指示的位置有一個數字,那麼該數字將以格式化輸出顯示。 . 十進制點。 , 千分位分隔符。 % 百分比修飾符。被格式化的值在包括到格式化的輸出前將乘以100。 E0/E+0/e/e+0/e-0/E 科學標志。 "XX"或"XX" 代表格式的字符串。這些被包含在格式化的輸出中,而不翻譯其相對位置。 ; 用於條件格式化負數,零和正值的節分隔符。如果定義多個格式節,那麼你可以更精確地控制數字的格式化:
· 兩個節-如果你有兩個格式化節,則第一節應用於所有正數(包括0)值。第二節應用於負數值,當你想把負數值包括在括號中(就象中許多財務軟件包中一樣),這是十分方便的。
· 三個節-如果你有三個格式化節,則第一個節應用於所有正數(不包括0)值。第二節應用於負數值,第三節應用於零。
下列代碼顯示如何使用定制數字格式修飾符。
double dVal = 59.99;
double dNeg = -569.99;
double zeroVal = 0.0;
double pct = 0.23;
string formatString = "{0:$#,###0.00;($#,###0.00);nuttin}";
Console.WriteLine(string.Format(formatString, dVal));
Console.WriteLine(string.Format(formatString, dNeg));
Console.WriteLine(string.Format(formatString, zeroVal));
Console.WriteLine(pct.ToString("00%"));
前面的代碼將產生如下所示的輸出結果:
$59.99
($569.99)
nuttin
23%