string.Format 格式整理

前言-來源
常用到string.Format方法,每次用到都要上網查說明,心想不如整理成文章懶人包方便自己日後查詢,若有錯誤的地方,請各位不吝指教

標準數值格式
格式
說明
Format
Input
Output
補充
C貨幣{0:C}1234.567NT$1,234.57Currency C預設到小數2位…C1取小數一位,C3取小數三位…
D十進位{0:D}12341234Decimal 只支援整數資料型別(integral types),D後面數字表示指定的位數
E科學指數{0:E}12341.234000E+003Scientific
F固定{0:F}1234.45671234.46Fixed-point
G一般{0:G}1234.5671234.57General
N數字{0:N}120000120,000.00Number每三位數用 "," 隔開
P百分比{0:P}0.2525.00%Percent輸入數值*100 ; 預設取小數2位,P0可取小數
R來回{0:R}0.250.25Round-trip只支援Double、Single
X十六進位{0:R}1237BHexadecimal:只支援整數資料型別(integral types)


自訂數值格式
格式
說明
Format
Input
Output
補充
0零值預留位置{0:000.000}12.3012.300Zero placeholder
#數字預留位置{0:###.###}12.312.3Digit placeholder 
#,,:1234567890→1235
#,,,:1234567890→1
#,##0,,:1234567890→1,235
.小數點{0:0.0}12.312.3Decimal point
,千位分隔符號{0:0,0}12001,200Thousand separator and number scaling
%百分比預留位置{0:0%}0.2525% Percentage placeholder
e科學標記法{0:0e+0}1231e+2Scientific notation
\跳脫字元{0:00\n0}12312 3 Escape character

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

標準DateTime格式
測試時間:2012/3/11 下午 01:02
格式
說明
Format
Output
補充
d簡短日期{0:d}2012/3/11MM/dd/yyyy
D完整日期{0:D}2012年3月11日 
f完整可排序日期/時間{0:f}2012年3月11日 下午 01:02 
F完整可排序日期/時間{0:F}2012年3月11日 下午 01:02:03 
g一般可排序日期/時間{0:g}2012/3/11 下午 01:02 
G一般可排序日期/時間{0:G}2012/3/11 下午 01:02:03 
M、m月日{0:m}3月11日 
o來回日期/時間{0:o}2012-03-11T13:02:03.0000000 
R、rRFC1123{0:R}Sun, 11 Mar 2012 13:02:03 GMT 
s可排序日期/時間{0:s}2012-03-11T13:02:03 
t簡短時間{0:t}下午 01:02HH:mm
T完整時間{0:T}下午 01:02:03HH:mm:ss
u通用可排序日期/時間{0:u}2012-03-11 13:02:03Zyyyy'-'MM'-'dd HH':'mm':'ss'Z'
U通用可排序日期/時間{0:U}2012年3月11日 上午 05:02:03 
Y、y年月{0:y}2012年3月 
備註:輸出日期格式顯示可以依據〈控制台〉 〈地區語言選項〉做修改,詳細請參考:標準DateTime格式輸出範例String.Format yyyy/MM/dd? 誤會大了 by 黑暗大

自訂DateTime格式
測試時間:2012/3/11 下午 02:21
格式
說明
Format
Output
補充
dd月份日期{0:dd}11 
ddd星期幾的縮寫{0:ddd}星期日Sun
dddd星期幾的完整名稱{0:dddd}星期日Sunday
f, ff…秒數{0:fff}364 
gg,…時期或時代{0:gg}西元 
hh小時(12 小時制){0:hh}02 
HH小時(24 小時制){0:HH}14 
mm分鐘{0:mm}21 
MM月份{0:MM}03 
MMM月份的縮寫名稱{0:MMM}三月Mar
MMMM月份的完整名稱{0:MMMM}三月March
ss秒數{0:ss}49 
ttA.M./P.M{0:tt}下午 
yy兩個位數的數字來表示年份{0:yy}12 
yyy三個位數的數字來表示年份{0:yyy}2012 
yyyy四個位數的數字來表示年份{0:yyyy}2012 
zz時差(小時){0:zz}+08系統時區與格林威治標準時間 (GMT) 時差
zzz時差(小時&分鐘){0:zzz}+08:00系統時區與格林威治標準時間 (GMT) 時差 (帶正負號)
:時間分隔符號{0:hh:mm:ss}02:29:06 
/日期分隔符號{0:yyyy/MM/dd}2012/03/11 
詳細請參考 自訂DateTime格式字串

字串格式
1string myBook = "book";
2string myPencil = "pencil";
3string FormatString = String.Format("This is a {0}, not a {1}", myBook, myPencil);
4Response.Write(FormatString);

Result:This is a book, not a pencil

張貼留言

0 留言