摘要:[筆記] string.Format 格式整理
前言
常用到string.Format方法,每次用到都要上網查說明,心想不如整理成文章懶人包方便自己日後查詢,若有錯誤的地方,請各位不吝指教
標準數值格式
格式 |
說明 |
Format |
Input |
Output |
補充 |
C | 貨幣 | {0:C} | 1234.567 | NT$1,234.57 | Currency :C預設到小數2位…C1取小數一位,C3取小數三位… |
D | 十進位 | {0:D} | 1234 | 1234 | Decimal: 只支援整數資料型別(integral types),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:輸入數值*100 ; 預設取小數2位,P0可取小數 |
R | 來回 | {0:R} | 0.25 | 0.25 | Round-trip:只支援Double、Single |
X | 十六進位 | {0:R} | 123 | 7B | Hexadecimal:只支援整數資料型別(integral types) |
自訂數值格式
格式 |
說明 |
Format |
Input |
Output |
補充 |
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格式
測試時間:2012/3/11 下午 01:02
格式 |
說明 |
Format |
Output |
補充 |
d | 簡短日期 | {0:d} | 2012/3/11 | MM/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、r | RFC1123 | {0:R} | Sun, 11 Mar 2012 13:02:03 GMT | |
s | 可排序日期/時間 | {0:s} | 2012-03-11T13:02:03 | |
t | 簡短時間 | {0:t} | 下午 01:02 | HH:mm |
T | 完整時間 | {0:T} | 下午 01:02:03 | HH:mm:ss |
u | 通用可排序日期/時間 | {0:u} | 2012-03-11 13:02:03Z | yyyy'-'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 | |
tt | A.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格式字串
字串格式
1 |
string myBook = "book" ; |
2 |
string myPencil = "pencil" ; |
3 |
string FormatString = String.Format( "This is a {0}, not a {1}" , myBook, myPencil); |
4 |
Response.Write(FormatString); |
Result:This is a book, not a pencil