格式化--包括字符串, 数字, 日期, 枚举等类型数据的格式化

格式项语法

每个格式项都采用下面的形式并包含以下组件:

{ 索引[,对齐][:格式字符串]}

必须使用成对的大括号(“{”和“}”)。 

 
索引:索引是一个由0开始的整数,0表示第一个对应的对象,1表示第二,以此类推.

Console.WriteLine( " {0}+{1}={2} ", 23, 45, 23+ 45);

 
对齐: 可选,是一个带符号的整数,用于设置对应对象的字段宽度,如果数值小于对象字符串的宽度,自动被忽略,如果“对齐”为正数,字段中设置了格式的数据为右对齐;如果“对齐”为负数,字段中的设置了格式的数据为左对齐。 

Console.WriteLine( " {0,5} "12);
Console.WriteLine( " {0,13} ", DateTime.Now.ToString( " yyyy-MM-dd "));


格式化字符串:如果相应对象是数值,则指定数字格式字符串,如果相应对象是 DateTime 对象,则指定日期和时间格式字符串,或者如果相应对象是枚举值,则指定枚举格式字符串。 
1.标准的数学格式字符串
字母     含义
C或c    Currency 货币格式
D或d    Decimal 十进制格式(十进制整数,不要和.Net的Decimal数据类型混淆了)
E或e    Exponent 指数格式
F或f     Fixed point 固定精度格式
G或g   General 常用格式
N或n   用逗号分割千位的数字,比如1234将会被变成1,234
P或p   Percentage 百分符号格式
R或r   Round-trip   圆整(只用于浮点数)保证一个数字被转化成字符串以后可以再被转回成同样的数字
X或x   Hex 16进制格式

int i =  123456;
Console.WriteLine( " {0:C} ", i);  //  ¥123,456.00
Console.WriteLine( " {0:D} ", i);  //  123456
Console.WriteLine( " {0:E} ", i);  //  1.234560E+005
Console.WriteLine( " {0:F} ", i);  //  123456.00
Console.WriteLine( " {0:G} ", i);  //  123456
Console.WriteLine( " {0:N} ", i);  //  123,456.00
Console.WriteLine( " {0:P} ", i);  //  12,345,600.00 %
Console.WriteLine( " {0:X} ", i);  //  1E240

  

2.标准日期和时间格式字符串
d       MM/dd/yyyy ShortDatePattern(短日期模式)
D       dddd,MMMM dd,yyyy     LongDatePattern(长日期模式) 
f        dddd,MMMM dd,yyyy HH:mm Full date and time (long date and short time)(短时间模式)
F        dddd,MMMM dd,yyyy HH:mm:ss FullDateTimePattern (long date and long time)(长时间模式) 
g        MM/dd/yyyy HH:mm General (short date and short time)(通用模式,短日期和短时间)
G        MM/dd/yyyy HH:mm:ss General (short date and long time)(通用模式,长日期和长时间)
m,M    MMMM dd   MonthDayPattern(月天模式)
r,R      ddd,dd MMM yyyy,HH':'mm':'ss 'GMT' RFC1123Pattern (RFC1123模式) 
s        yyyy-MM-dd HH:mm:ss   SortableDateTimePattern (conforms to ISO 8601) using local time(使用本地时间的可排序模式) 
t        HH:mm   ShortTimePattern (短时间模式)
T        HH:mm:ss LongTimePattern(长时间模式) 
u      yyyy-MM-dd HH:mm:ss UniversalSortable-DateTimePattern (conforms to ISO 8601) using universal time(通用可排序模式)
U      dddd,MMMM dd,yyyy,HH:mm:ss UniversalSortable-DateTimePattern(通用可排序模式)
y,Y   MMMM,yyyy YearMonthPattern(年月模式) 

Console.WriteLine( " {0:d} ", DateTime.Now); // 2011/11/13
Console.WriteLine( " {0:D} ", DateTime.Now); // 2011年11月13日
Console.WriteLine( " {0:f} ", DateTime.Now); // 2011年11月13日 20:54
Console.WriteLine( " {0:F} ", DateTime.Now); // 2011年11月13日 20:54:28
Console.WriteLine( " {0:g} ", DateTime.Now); // 2011/11/13 20:54
Console.WriteLine( " {0:G} ", DateTime.Now); // 2011/11/13 20:54:28
Console.WriteLine( " {0:m} ", DateTime.Now); // 11月13日
Console.WriteLine( " {0:M} ", DateTime.Now); // 11月13日
Console.WriteLine( " {0:r} ", DateTime.Now); // Sun, 13 Nov 2011 20:54:28 GMT
Console.WriteLine( " {0:R} ", DateTime.Now); // Sun, 13 Nov 2011 20:54:28 GMT
Console.WriteLine( " {0:s} ", DateTime.Now); // 2011-11-13T20:54:28
Console.WriteLine( " {0:t} ", DateTime.Now); // 20:54
Console.WriteLine( " {0:T} ", DateTime.Now); // 20:54:28
Console.WriteLine( " {0:u} ", DateTime.Now); // 2011-11-13 20:54:28Z
Console.WriteLine( " {0:U} ", DateTime.Now); // 2011年11月13日 12:54:28
Console.WriteLine( " {0:y} ", DateTime.Now); // 2011年11月
Console.WriteLine( " {0:Y} ", DateTime.Now); // 2011年11月

 

参考MSDN  String.Format 方法
 

3.自定义的数学格式字符串

 

4.自定义日期和时间格式字符串

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值