標準數值格式指定符
| 指定符 | 說明 | 範例 | 輸出 (1234.56) |
| C / c | 貨幣 | {0:C2} | ¥1,234.56 |
| D / d | 十進位 (整數) | {0:D6} | 001235 |
| E / e | 科學標記法 | {0:E2} | 1.23E+003 |
| F / f | 定點小數 | {0:F3} | 1234.560 |
| G / g | 一般 (預設) | {0:G} | 1234.56 |
| N / n | 千分位分隔 | {0:N2} | 1,234.56 |
| P / p | 百分比 | {0:P2} | 123,456.00% |
| X / x | 十六進位 | {0:X4} | 04D2 |
自訂數值格式指定符
| 指定符 | 說明 | 範例 | 輸出 (1234.56) |
| 0 | 零佔位 (不足補零) | {0:000.00} | 1234.56 |
| # | 數字佔位 (不足不補零) | {0:(#).##} | (1234).56 |
| . | 小數點 | {0:0.0} | 1234.6 |
| , | 千分位 / 數值縮放 | {0:0,0} / {0:0,.} | 1,235 / 1 |
| % | 百分比 (乘100加%) | {0:0%} | 123456% |
| E0/E+0 | 指數標記 | {0:0.0E0} | 1.2E3 |
| ; | 區隔正/負/零格式 | {0:#.##;(#.##);Zero} | 視值而定 |
常用實用範例
// 貨幣:正數正常、負數括號、零顯示 Zero
string.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // $1,243.50
string.Format("{0:$#,##0.00;($#,##0.00);Zero}", -1243.50); // ($1,243.50)
string.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // Zero
// 電話號碼格式化
string.Format("{0:(###) ###-####}", 18005551212); // (800) 555-1212
// ToString 直接呼叫
12345.ToString("N"); // 12,345.00
12345.ToString("C"); // ¥12,345.00
12345.ToString("E"); // 1.234500E+004
12345.ToString("F4"); // 12345.0000
12345.ToString("X"); // 3039
12345.ToString("P"); // 1,234,500.00%
日期時間格式化 (補充)
| 指定符 | 說明 | 範例輸出 |
| d | 短日期 | 2024/01/15 |
| D | 長日期 | 2024年1月15日 |
| t | 短時間 | 14:30 |
| T | 長時間 | 14:30:45 |
| f | 完整日期時間 (短時間) | 2024年1月15日 14:30 |
| F | 完整日期時間 (長時間) | 2024年1月15日 14:30:45 |
| yyyy-MM-dd | 自訂 ISO 格式 | 2024-01-15 |
字串對齊
String.Format("->{0,10}<-", "Hello"); // -> Hello<-
String.Format("->{0,-10}<-", "Hello"); // ->Hello <-
掌握格式化字串,即可輕鬆產出符合業務需求的輸出格式。