標籤:
定義
格式說明符的文法由3個欄位組成:索引號、對齊說明符和格式欄位。String.Format和WriteLine都遵守同樣的格式化規則。
對齊說明符
對齊說明符表示了欄位中字元的最小寬度。對齊說明符有如下特性。
1、對齊說明符是可選的,並且使用逗號和索引號分離。
2、它由一個正整數或負整數組成。
3、整數表示了欄位使用字元的最少數量。
4、符號表示了靠右對齊或靠左對齊。正數表示靠右對齊,負數表示靠左對齊。
5、如果要表示的字元數比說明符中指定的字元數少,那麼其餘字元會使用空格填充;
6、如果要表示的字元數多於指定的字元數,對齊說明符會被忽略,並且使用所需的字元進行表示。
格式欄位
格式欄位指定了數字應該以哪種形式表示。例如應當被當做貨幣、十進位數、還是定點符號來表示。格式欄位有3部分。
1、冒號後必須緊跟格式說明符,中間不能有空格。
2、格式說明符是一個字母字元,是9個內建字元格式設定之一。字元可以是大寫或小寫形式。大小寫對於某些說明符來說比較重要,而對於另外一些說明符來說則不重要。
3、有效位數規範是可選的,由1~2位元字組成。它的實際意義取決于格式說明符。
樣本:
標準格式字串
字元 |
說明 |
樣本 |
輸出 |
C |
貨幣 |
string.Format("{0:C3}", 2) |
¥2.000(英文作業系統結果:$0.20) |
D |
十進位 |
string.Format("{0:D3}", 2) |
002 |
F |
定點 |
string.Format{"0:F4",123.123} |
123.1230 |
E |
科學計數法 |
string.Format{"0:E4",0.123456} |
1.2346E+001 |
G |
常規 |
string.Format("{0:G}", 2) |
2 |
X |
十六進位 |
string.Format("{0:X000}", 12) |
C |
N |
逗號或空格隔開數字 |
string.Format("{0:N}", 250000) |
250,000.00(預設精度2位) |
P |
百分比 |
string.Format{"0:P",0.123456} |
12.34%(預設精度2位) |
R |
往返過程 |
string.Format{"0:R",0.123456} |
0.123456 |
日期格式化
string.Format("{0:d}",System.DateTime.Now) 結果為:2016-9-18 (注意:月份不是09)
string.Format("{0:D}",System.DateTime.Now) 結果為:2016年9月18日
string.Format("{0:f}",System.DateTime.Now) 結果為:2016年9月18日 18:14
string.Format("{0:F}",System.DateTime.Now) 結果為:2016年9月18日 18:14:26
string.Format("{0:g}",System.DateTime.Now) 結果為:2016-9-18 18:14
string.Format("{0:G}",System.DateTime.Now) 結果為:2016-9-18 18:14:26
string.Format("{0:m}",System.DateTime.Now) 結果為:9月18日
string.Format("{0:t}",System.DateTime.Now) 結果為:18:14
string.Format("{0:T}",System.DateTime.Now) 結果為:18:14:26
類似
string t1 = System.DateTime.Now.ToShortDateString(); t1=2016/9/18
string t2 = System.DateTime.Now.ToShortTimeString(); t2=18:14
string t3 = System.DateTime.Now.ToLongDateString(); t3=2016年9月18日
string t4 = System.DateTime.Now.ToLongTimeString(); t4=18:14:26
【漁跟魚】C#string.Format 格式說明 Writeline格式說明 格式化字串