C#格式化数值结果表
字符
|
说明
|
示例
|
输出
|
?
|
货币
|
与的String.Format(“{0:C3}”,2)
|
2.000美元
|
e
|
十进制
|
与的String.Format(“{0:D3}”,2)
|
002
|
?
|
科学计数法
|
1.20E +001
|
1.20E +001
|
?
|
常规
|
与的String.Format(“{0:G}”,2)
|
2
|
?
|
用分号隔开的数字
|
与的String.Format(“{0:无}”,250000)
|
250,000.00
|
X
|
十六进制
|
与的String.Format(“{0:X000}”,12)
|
?
|
|
|
与的String.Format(“{0:000.000}”,12.2)
|
012.200
|
串
是不是真的有一座坚固的任何格式,超越它的对齐方式。对齐适用于被印在一个与String.Format调用任何参数。
样品
|
生成
|
的的String.Format(“ - > {1,10} < - ”,“你好”);
|
- >你好< -
|
的的String.Format(“ - > {1,-10} < - ”,“你好”);
|
- >你好< -
|
数字
基本数字格式说明符:
说明
|
类型
|
格式
|
输出
(不合格品
双人1.42)
|
输出
(不合格品
诠释-12400)
|
?
|
货币
|
{0:C}
|
1.42美元
|
- 12400美元
|
e
|
十进制(整数)
|
{0:D}
|
制度。
FormatException
|
-12400
|
?
|
科学的
|
{0:E}
|
1.420000e +000
|
-1.240000e +004
|
f
|
定点
|
{0:F}
|
1.42
|
-12400.00
|
克
|
一般
|
{0:G}
|
1.42
|
-12400
|
?
|
用逗号几千号
|
{0:n}的的
|
1.42
|
-12,400
|
?
|
圆相互转换
|
{0:R}
|
1.42
|
制度。
FormatException
|
x
|
十六进制
|
{0:X4}
|
制度。
FormatException
|
CF90
|
自定义数字格式:
说明
|
类型
|
例子
|
输出(合格双1500.42)
|
注
|
0
|
零占位符
|
{0:00.0000}
|
1500.4200
|
垫用零。
|
#
|
数字占位符
|
{0:(#)##}
|
(1500)0.42
|
|
。
|
小数点
|
{0:0.0}
|
1500.4
|
|
,
|
千位分隔符
|
{0:0,0}
|
1,500
|
必须是两个零之间。
|
,。
|
数字缩放
|
{0:0,。}
|
2
|
逗号毗邻期扩大1000倍。
|
%
|
百分之
|
{0:0}%
|
150042%
|
乘以100,加上%符号。
|
?
|
指数占位符
|
{0:00 E +0}
|
15E +2
|
许多指数格式。
|
;
|
组分隔符
|
见下文
|
|
|
组分隔符是一个用于格式化的要求负值用括号括起来的货币值特别有用。这个货币格式例如在本文档的底部使得它很明显的:
日期
需要注意的是日期格式是特别依赖于系统的区域设置;的例子字符串这里是我的本地语言环境。
说明
|
类型
|
例如(合格System.DateTime.Now)
|
e
|
短日期
|
10/12/2002
|
e
|
长日期
|
2002年12月10日
|
吨
|
短时间
|
下午10:11
|
?
|
久
|
下午十时十一分29秒
|
f
|
完整的日期和时间
|
2002年12月10日下午10时11分
|
F
|
完整的日期和时间(长)
|
2002年12月10日下午10点11分29秒
|
克
|
默认的日期和时间
|
10/12/2002下午10:11
|
?
|
默认的日期和时间(长)
|
10/12/2002下午10点11分29秒
|
M
|
月日模式
|
12月10日
|
?
|
RFC1123的日期字符串
|
周二,2002年12月10日22时11分29秒GMT
|
s
|
可排序的日期字符串
|
2002-12-10T22:11:29
|
ü
|
通用的可排序,本地时间
|
2002-12-10 22:13:50?
|
ü
|
通用的可排序,GMT
|
2002年12月11日上午03时一十三分50秒
|
?
|
年月模式
|
2002年12月
|
该“U”说明符似乎打破;该字符串肯定是不排序。
自定义日期格式:
说明
|
类型
|
例子
|
示例输出
|
日
|
日
|
{0:日}
|
10
|
DDD
|
日名
|
{0:DDD}
|
星期二
|
DDDD
|
全天名称
|
{0:DDDD}
|
星期二
|
楼FF,...
|
第二部分
|
{0:FFF}
|
932
|
GG,...
|
时代
|
{0:GG}
|
AD
|
HH
|
2位数的小时
|
{0:HH}
|
10
|
HH
|
2位数的小时,24小时格式
|
{0:HH}
|
22
|
毫米
|
00-59分钟
|
{0:MM}
|
38
|
MM
|
01-12个月
|
{0:MM}
|
12
|
MMM
|
月份缩写
|
{0:MMM}
|
十二月
|
MMMM
|
完整的月份名称
|
{0:MMMM}
|
十二月
|
SS
|
秒00-59
|
{0:SS}
|
46
|
TT
|
AM或PM
|
{0:TT}
|
下午
|
年年年年
|
年,2位数
|
{0:YY}
|
02
|
年
|
年
|
{0:YYYY}
|
2002
|
ZZ
|
时区偏移量,2位数
|
{0:ZZ}
|
-05
|
ZZZ
|
全时区偏移
|
{0:ZZZ}
|
-05:00
|
:
|
分离器
|
{0:HH:MM:SS}
|
10:43:20
|
/
|
分离器
|
{0:日/月/年}
|
10/12/2002
|
枚举
说明
|
类型
|
克
|
(如果可用标志的名称,否则十进制)默认
|
f
|
旗始终
|
e
|
整数总是
|
x
|
八位十六进制。
|
一些有用的实例
与String.Format(“{0:$#,##0.00;($#,##0.00);零}”,值);
这将输出“$ 1,240.00”如获通过1243.50。它会输出相同的格式,但在括号中,如果数字为负,并且将输出字符串“零”,如果数是零。
的String.Format(“{0:(###)### - ####}”,18005551212);
这将输出“(800)555-1212”。
变量。的ToString()
字符型转换转为字符串
12345.ToString(“N”); / /生成12,345.00
12345.ToString(“C”); / /生成¥12,345.00
12345.ToString(“E”); / /生成1.234500e +004
12345.ToString(“F4”)/ /生成12345.0000
12345.ToString(“×”)/ /生成3039(16进制)
12345.ToString(“P”)/ /生成1,234,500.00%