有關ToString、String.Format的相關資料
在.NET Framework中,一直覺得最強的類別就是String,好像你永遠也摸不清這個方法到底有多少的本事一樣。如果有一個人跟你說,ToString()就是轉成字串啊,以啥了不起的,那麼他肯定很自大並不熟String類別。
在這邊僅些微的列出一些sample code,詳細還是要看官方MSDN,因為實在是太強大了。
前面補0的數字字串
String.Format("{0:0000}", 157); //輸出 0157
前後都補0的數字字串
String.Format("{0:0000.0000}", 157.42); //輸出 0157.4200
格式化電話號碼
String.Format("{0:(###) ###-####}", 8005551212); //輸出 (800) 555-1212
不滿特定長度的字串,後面補空白
String.Format("{0,-10}", "Hello"); //「Hello 」
不滿特定長度的字串,前面補空白
String.Format("{0,10}", "Hello"); //「 Hello」
前面補0的數字字串
String.Format("{0:0000}", 157); //輸出 0157
前後都補0的數字字串
String.Format("{0:0000.0000}", 157.42); //輸出 0157.4200
金額的表示:每3位數加逗號
String.Format("{0:n}", 123456789); //輸出 123,456,789.00
String.Format("{0:n0}", 123456789); //輸出 123,456,789
金額的表示
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // 這個會顯示 Zero
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // 這個會顯示 $1,243.50
金額的表示\_改良\_取到小數2位
String.Format("{0:$###,###,###,##0.00}", 0); //$0.00
String.Format("{0:$###,###,###,##0.00}", 12.5); //$12.50
String.Format("{0:$###,###,###,##0.00}", 3456234532); //$3,456,234,532.0
金額的表示\_改良2\_取到個位
String.Format("{0:$#,0}", 0); //$0
String.Format("{0:$#,0}", 12.5); //$13,四拾五入到個位
String.Format("{0:$#,0}", 3456234532); //$3,456,234,532
格式化電話號碼
String.Format("{0:(###) ###-####}", 8005551212); //輸出 (800) 555-1212
百分比
String.Format("{0:0%}", 17 / (float)60); //輸出 28%
到小數2位的百分比
String.Format("{0:0.00%}", 17 / (float)60); //輸出 28.33%
取小數點4位,並對第5位做四捨五入
String.Format("{0:#,0.####}", 1234.56789); //1,234.5679
小數點不足4位不補0
String.Format("{0:0.####}", 1234.567); //1234.567
年/月/日 時:分:秒 毫秒
DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss ffff");
C貨幣
2.5.ToString("C") //¥2.50
D十進位數字
25.ToString("D5") //00025
E科學型
25000.ToString("E") //2.500000E+005
F固定點
25.ToString("F2") //25.00
G常規
2.5.ToString("G") //2.5
N數字
2500000.ToString("N") //2,500,000.00
X十六進位
255.ToString("X") //FF
以下是MSDN官網中,對於ToString()下涉汲的相關格式化類行,進行「稍微」完整的敘述,有用到的人請自行翻閱吧!
- Formatting Types 總述
- Standard Numeric Format Strings
- Custom Numeric Format Strings
- Standard Date and Time Format Strings
- Custom Date and Time Format Strings
- Standard TimeSpan Format Strings
- Custom TimeSpan Format Strings
- Enumeration Format Strings
- Composite Formatting
- Performing Formatting Operations(這裡面藏有大量的格式化資訊,例如轉換地區型日期,或者是對文字輸出預做空白Padding之類的,都會有讓你耳目一新的感受!)
最後加碼附上一位英國C#程式設計師Dylan Beattie寫的Cheat Sheet:.Net String Format Cheat Sheet