C# -- string.Format

string.Format輸出格式懶人包 

1. 標準數值格式 
2. 自訂數值格式 
3. 標準DateTime格式 
4. 自訂DateTime格式 
5. 字串格式

標準數值格式

Name Description Format Input Output Memo
C 貨幣 {0:C} 1234.567 NT$1,234.57 Currency:C預設到小數第二位;C1取小數一位;C3取小數三位
D 十進位 {0:D} 1234 1234 Decimal:只支援整數字料型別(int),D後面數字表示指定的位置
E 科學記號 {0:E} 1234 1.234000E+003 Scientific
F 固定 {0:F} 1234.4567 1234.46 Fixed-point
G 一般 {0:G} 1234.567 1234.57 General
N 數字 {0:N} 120000

120,000.00

Number:每三位數以","隔開
P 百分比 {0:P} 0.25 25.00% Percent:輸入數值
R 來回 {0:R} 0.25 0.25 Round-trip:只支援Double、Single
X 十六進位 {0:X} 123 7B Hexadecimal:只支援整數資料型別(int)

 

自訂數值格式

Name Description Format Input Output Memo
0 零值預留位置 {0:000.000} 12.3 012.300 Zero placeholder
# 數字預留位置 {0:###.###} 12.3 12.3

Digit placeholder

#,,:1234567890→1235

#,,,:1234567890→1

#,##0,,:1234567890→1ㄝ235

. 小數點 {0:0.0} 12.3 12.3 Decimal point
, 千位分隔符號 {0:0,0} 1200 1,200 Thousand separator and number scaling
% 百分比預留位置 {0:0%} 0.25 25% Percentage placeholder
e 科學記號標記 {0:0e+0} 123 1e+2 Scientific notation
\ 跳脫字元 {0:00\n0} 123 12 3 Escape character

自訂數值格式化:{0:(###) ### – ####} ,1234567890→(123) 456 – 7890,詳細請參考 自訂數值格式輸出範例

標準DateTime格式

Name Description Format Output Memo
d 簡短日期 {0:d} 2017/9/14 MM/dd/yyyy
D 完整日期 {0:D} 2017年9月14日  
f 完整可排序日期/時間 {0:f} 2017年9月14日 上午11:43  
F 完整可排序日期/時間 {0:F} 2017年9月14日 上午11:43:03  
g 一般可排序日期/時間 {0:g} 2017/9/14 上午11:43  
G 一般可排序日期/時間 {0:G} 2017年9月14日 上午11:43:03  
M、m 月日 {0:m} 9月14日  
o 來回日期/時間 {0:o} 2017-09-14T11:43:03.0000000  
R、r RFC1123 {0:R} Thur, 14 Sep 2017 11:43:03 GMT  
s 可排序日期/時間 {0:s} 2017-09-14T11:43:03  
t 簡短時間 {0:t} 上午 11.43 HH:mm
T 完整時間 {0:T} 上午 11:43:03 HH:mm:ss
u 通用可排序日期/時間 {0:u} 2017-09-14 11:43:03Z

yyyy'-'MM'-'dd

HH':'mm':'ss'Z'

U 通用可排序日期/時間 {0:U} 2017年9月14日 上午03:43:03  
Y、y 年月 {0:y} 2017年9月  

輸出日期格式顯示可以依據 控制台 地區語言選項 做修改,詳細請參考:標準DateTime格式輸出範例String.Format yyyy/MM/dd? 誤會大了

自訂DateTime格式

Name Description Format Output Memo
dd 日期 {0:dd} 14  
ddd 星期 縮寫 {0:ddd} 星期日 Sun
dddd 星期 完整名稱 {0:dddd} 星期日 Sunday
f,ff... 秒數 {0:fff} 346  
gg,... 時期或時代 {0:gg} 西元  
hh 小時(12小時制) {0:hh} 11  
HH 小時(24小時制) {0:HH} 11  
mm 分鐘 {0:mm} 59  
MM 月份 {0:MM} 09  
MMM 月份 縮寫 {0:MMM} 九月 Sep
MMMM 月份 完整名稱 {0:MMMM} 九月 September
ss 秒數 {0:ss} 49  
tt A.M. / P.M. {0:tt} 下午  
yy 兩位數年分 {0:yy} 17  
yyy 三位數年分   2017  
yyyy 四位數年分   2017  
zz 時差(小時)   +08 系統時區與格林威治標準時間(GMT)時差
zzz 時差(小時&分鐘)   +08:00 系統時區與格林威治標準時間(GMT)時差(帶正負號)
: 時間分隔符號   11:59:06  
/ 日期分隔符號   2017/09/14  

詳細請參考 自訂DateTime格式字串

字串格式

string d = "dog";
string b = "bear";
string FormatString = String.Format("This is a {0}, not a {1}", d, b);
Response.Write(FormatString); 
This is a dog, not a bear