您的位置:首页 > 编程语言 > C#

字符串格式化(String Formatting)_C#

2008-03-20 18:05 519 查看
============================================================================================

在dotNet框架中,每个对象都有一个名为ToString的方法,其将返回一个代表该对象的字符串。ToString方法接受一个字符串参数,其指明了如何对该对象执行格式化。String.Format格式化一个字符串,并替换相应位置的字符使用“{0:##}”的格式表示。

在该弯括弧中的格式如下:

{index[,alignment][:formatString]}

alignment:给定该格式化字符子串占用的空格数。正数表示右对齐,负数表示左对齐。
formatString:即为格式化该对象的参数。
字符串(Strings)格式化:

对于一个字符串,其没有任何特别的格式化方式,除了对齐操作。当然对齐操作对String.Format方法总是适用的。

SampleGenerates
String.Format("->{1,10}<-", "Hello"); -> Hello<-
String.Format("->{1,-10}<-", "Hello");->Hello <-
数字的格式化:

SpecifierTypeFormatOutput(Passed Double 1.42)Output(Passed Int -12400)
cCurrency{0:c} $1.42-$12,400
dDecimal{0:d}System.FormatException-12400
eScientific{0:e}1.420000e+000 -1.240000e+004
fFix point{0:f3}1.420-12400.000
gGenera{0:g}1.42-12400
nNumber with{0:n}1.42-12,400
rRound trippable{0:r}1.42System.FormatException
xHexadecimal{0:x4}System.FormatExceptioncf90
时间日期的格式化:

SpecifierTypeExampleExample Output
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr{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 digit{0:yy}02
yyyyYear 4 digit{0:yyyy} 2002
zzTimezone offset{0:zz}-05
zzzFull Time offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/ Separator{0:dd/MM/yyyy}10/12/2002
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: