C#中String.Format的使用

来源:互联网 发布:web版数据库系统 编辑:程序博客网 时间:2024/05/08 20:17

String.Format的使用方法如下:
string errorString = String.Format(”Error {0} occurred.”, nError);
其中在花括號中的內容格式如下: {index[,alignment][:formatString]}.
參數說明:
index表示的參數的序列值
alignment表示對齊方式,省略或為正數,則向右靠齊.如果為負,則向左靠齊.不足的部分用空格填充.
formatString表示格式化方式

1.Strings字符串格式化
示例                                                               輸出
String.Format(”->{1,10}<-”, “Hello”);    -> Hello<-
String.Format(”->{1,-10}<-”, “Hello”);   ->Hello <-

2.Numbers數值格式化
--1.基本的格式化字符

 

字符 類型 格式

Output
(Passed
Double 1.42)

Output
(Passed
Int -12400)

c Currency {0:c} $1.42 -$12,400 d Decimal (Whole number) {0:d} System.
FormatException
-12400 e Scientific {0:e} 1.420000e+000 -1.240000e+004 f Fixed point {0:f} 1.42 -12400.00 g General {0:g} 1.42 -12400 n Number with commas for thousands {0:n} 1.42 -12,400 r Round trippable {0:r} 1.42 System.
FormatException
x Hexadecimal {0:x4} System.
FormatException
cf90

示例:

string.Format("{0:C3}", 2) //輸出 $2.000
string.Format("{0:D3}", 2) //輸出 002
string.Format("{0:G}", 2) //輸出 2
string.Format("{0:N}", 250000) //輸出 250,000.00
string.Format("{0:X000}", 12) //輸出 C


--2.自定義數值格式

字符 類型 示例  Output (Passed Double 1500.42) Note 0 Zero placeholder {0:00.0000} 1500.4200 Pads with zeroes. # Digit placeholder {0:(#).##} (1500).42 . Decimal point {0:0.0} 1500.4 , Thousand separator {0:0,0} 1,500 Must be between two zeroes. ,. Number scaling {0:0,.} 2 Comma adjacent to Period scales by 1000. % Percent {0:0%} 150042% Multiplies by 100, adds % sign. e Exponent placeholder {0:00e+0} 15e+2 Many exponent formats available. ; Group separator 參見示例

 示例:

String.Format("{0:0000}",157)                                      //輸出 0157
String.Format("{0:0000.0000}",157.42)                        //輸出 0157.4200

String.Format("{0:(###) ###-####}", 8005551212) //輸出 (800) 555-1212

String.Format("{0:0,0}", 38560)                                   //輸出 38,560

String.Format("{0:0%}", 0.283333)                              //輸出28%
String.Format("{0:0.00%}",0.283333);                         // 輸出 28.33%

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0) //輸出 Zero
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50) //輸出 $1,243.50

3.Dates日期格式化
--1.基本的日期格式化字符

字符 類型 示例 (Passed System.DateTime.Now) d Short date 10/12/2002 D Long date December 10, 2002 t Short time 10:11 PM T Long time 10:11:29 PM f Full date & time December 10, 2002 10:11 PM F Full date & time (long) December 10, 2002 10:11:29 PM g Default date & time 10/12/2002 10:11 PM G Default date & time (long) 10/12/2002 10:11:29 PM M Month day pattern December 10 r RFC1123 date string Tue, 10 Dec 2002 22:11:29 GMT s Sortable date string 2002-12-10T22:11:29 u Universal sortable, local time 2002-12-10 22:13:50Z U Universal sortable, GMT December 11, 2002 3:13:50 AM Y Year month pattern December, 2002

--2.自定義日期格式

字符 類型 示例 輸出 dd Day {0:dd} 10 ddd Day name {0:ddd} Tue dddd Full day name {0:dddd} Tuesday f, ff, … Second fractions {0:fff} 932 gg, … Era {0:gg} A.D. hh 2 digit hour {0:hh} 10 HH 2 digit hour, 24hr format {0:HH} 22 mm Minute 00-59 {0:mm} 38 MM Month 01-12 {0:MM} 12 MMM Month abbreviation {0:MMM} Dec MMMM Full month name {0:MMMM} December ss Seconds 00-59 {0:ss} 46 tt AM or PM {0:tt} PM yy Year, 2 digits {0:yy} 02 yyyy Year {0:yyyy} 2002 zz Timezone offset, 2 digits {0:zz} -05 zzz Full timezone offset {0:zzz} -05:00 : Separator {0:hh:mm:ss} 10:43:20 / Separator {0:dd/MM/yyyy} 10/12/2002

 4.Enumerations枚舉格式化

字符 類型 g Default (Flag names if available, otherwise decimal) f Flags always d Integer always x Eight digit hex.

本文參考資料:http://blog.stevex.net/index.php/string-formatting-in-csharp/

原创粉丝点击