2013年9月27日 星期五

string.Format

前面補0的數字字串
String.Format("{0:0000}", 157); // 輸出 0157

前後都補0的數字字串
String.Format("{0:0000.0000}", 157.42); // 輸出 0157.4200

每3位數(千)加逗號
(String.Format("{0:0,0}", 38560); // 輸出 38,560
0:0  這樣表示會把前面補0 ,例如本來是6,會顯示06,所以不要有0: 就不會變成06



格式化電話號碼
(String.Format("{0:(###) ###-####}", 8005551212); // 輸出 (800) 555-1212

金額的表示
(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // 這個會顯示 Zero
(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // 這個會顯示 $1,243.50


//不滿特定長度的字串,後面補空白
Console.WriteLine(String.Format("->{0,-10}<-", "Hello")); //->Hello     <-


//不滿特定長度的字串,前面補空白
Console.WriteLine(String.Format("->{0,10}<-", "Hello")); //->     Hello<-


//前面補0的數字字串
Console.WriteLine(String.Format("{0:0000}", 157)); // 輸出 0157


//前後都補0的數字字串
Console.WriteLine(String.Format("{0:0000.0000}", 157.42)); // 輸出 0157.4200


//金額的表示, 每3位數(千)加逗號
Console.WriteLine(String.Format("{0:0,0}", 41038560)); // 輸出 41,038,560
Console.WriteLine(String.Format("{0:0,0}", 0)); // 輸出 00, 不好


//金額的表示
Console.WriteLine(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0)); // 這個會顯示 Zero
Console.WriteLine(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50)); // 這個會顯示 $1,243.50


//金額的表示_改良_取到小數2位
Console.WriteLine(String.Format("{0:$###,###,###,##0.00}", 0)); // $0.00
Console.WriteLine(String.Format("{0:$###,###,###,##0.00}", 12.5)); // $12.50
Console.WriteLine(String.Format("{0:$###,###,###,##0.00}", 3456234532)); // $3,456,234,532.0


//金額的表示_改良2_取到個位
Console.WriteLine(String.Format("{0:$#,0}", 0)); // $0
Console.WriteLine(String.Format("{0:$#,0}", 12.5)); // $13,四拾五入到個位
Console.WriteLine(String.Format("{0:$#,0}", 3456234532)); // $3,456,234,532


//格式化電話號碼
Console.WriteLine(String.Format("{0:(###) ###-####}", 8005551212)); // 輸出 (800) 555-1212


//百分比
Console.WriteLine(String.Format("{0:0%}", 17 / (float)60)); // 輸出 28%


//到小數2位的百分比
Console.WriteLine(String.Format("{0:0.00%}", 17 / (float)60)); // 輸出 28.33%


//取小數點4位,並對第5位做四捨五入
Console.WriteLine(String.Format("{0:#,0.####}", 1234.56789)); // 1,234.5679


//小數點不足4位不補0
Console.WriteLine(String.Format("{0:0.####}", 1234.567)); // 1234.567


// 年/月/日 時:分:秒 毫秒
Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss ffff"));