C#中String.Format的使用

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)

cCurrency{0:c}$1.42-$12,400
dDecimal (Whole number){0:d}System.
FormatException
-12400
eScientific{0:e}1.420000e+000-1.240000e+004
fFixed point{0:f}1.42-12400.00
gGeneral{0:g}1.42-12400
nNumber with commas for thousands{0:n}1.42-12,400
rRound trippable{0:r}1.42System.
FormatException
xHexadecimal{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
0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.
#Digit placeholder{0:(#).##}(1500).42
.Decimal point{0:0.0}1500.4
,Thousand separator{0:0,0}1,500Must be between two zeroes.
,.Number scaling{0:0,.} 2Comma adjacent to Period scales by 1000.
%Percent{0:0%}150042%Multiplies by 100, adds % sign.
eExponent placeholder{0:00e+0}15e+2Many 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)
dShort date10/12/2002
DLong dateDecember 10, 2002
tShort time10:11 PM
TLong time10:11:29 PM
fFull date & time December 10, 2002 10:11 PM
FFull date & time (long)December 10, 2002 10:11:29 PM
gDefault date & time10/12/2002 10:11 PM
GDefault date & time (long)10/12/2002 10:11:29 PM
MMonth day patternDecember 10
rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
sSortable date string2002-12-10T22:11:29
uUniversal sortable, local time2002-12-10 22:13:50Z
UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
YYear month patternDecember, 2002

--2.自定義日期格式

字符類型示例輸出
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
f, ff, …Second fractions{0:fff}932
gg, …Era{0:gg}A.D.
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr format{0:HH}22
mmMinute 00-59{0:mm}38
MMMonth 01-12{0:MM}12
MMMMonth abbreviation{0:MMM}Dec
MMMMFull month name{0:MMMM}December
ssSeconds 00-59{0:ss}46
ttAM or PM{0:tt}PM
yyYear, 2 digits{0:yy}02
yyyyYear{0:yyyy}2002
zzTimezone offset, 2 digits{0:zz}-05
zzzFull timezone offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/Separator{0:dd/MM/yyyy}10/12/2002

 4.Enumerations枚舉格式化

字符類型
gDefault (Flag names if available, otherwise decimal)
fFlags always
dInteger always
xEight digit hex.

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值