C# String.Format大全
方法 | 结果 | 说明 |
string.Format("{0:D3}",23) |
023 |
格式化十进制的数字 |
string.Format("{0:D2}",1223) |
1223 |
精度说明符指示结果字符串中所需的最少数字个数 |
12345.ToString("n"); |
//生成 12,345.00 |
千位分隔,两个小数 |
string.Format("{0:N}", 14200) |
14,200.00 |
默认为小数点后面两位 |
string.Format("{0:N3}", 14200.2458) |
14,200.246 |
自动四舍五入 |
12345.ToString("e"); |
//生成 1.234500e+004 |
科学计数法 |
12345.ToString("f4"); |
//生成 12345.0000 |
保留小数位 |
12345.ToString(“f”) |
? |
定点 |
12345.ToString("x"); |
//生成 3039 (16进制) |
HEX 大小写 |
常规”G”和”g” |
? | ? |
12345.ToString("G"); 12345.ToString("g"); |
? |
常规 |
? | ? | ? |
自定义数字格式 |
? | ? |
String.Format("{0:00.0000}",1500.42) |
1500.4200 |
零占位符 |
String.Format("{0:(#).##}",1500.42) |
(1500).42 |
数字占位符 |
String.Format("{0:0.0}",1500.42) |
1500.4 |
小数点 |
String.Format("{0:0,0}",1500.42) |
1,500 |
? |
String.Format("{0:0,.}",1500.42) |
2 |
? |
String.Format("{0:0%}",1500.42) |
150042% |
百分数 |
String.Format("{0:00e+0}",1500.42) |
15e+2 |
指数占位符 |
? | ? | ? |
货币 |
? | ? |
12345.ToString("C"); |
//生成 ¥12,345.00 |
货币符,千位分隔,两个小数 |
string.Format("{0:C}",0.2) |
¥0.20 |
英文操作系统结果:$0.20 |
string.Format("{0:C1}",23.15) |
¥23.2 |
(截取会自动四舍五入) |
string.Format("市场价:{0:C},优惠价{1:C}",23.15,19.82) |
? |
格式化多个Object实例 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", 98005.30) |
¥98,005.30 |
金额,千位分隔符,两个小数 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", -98005.30) |
(¥98,005.30) |
金额,千位分隔符,两个小数 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", 0) |
零 |
金额,千位分隔符,两个小数 |
? | ? | ? |
百分比 |
? | ? |
12345.ToString("p"); |
//生成 1,234,500.00% |
百分数,千位分隔,两个小数 |
string.Format("{0:P}", 0.24583) |
24.58% |
默认保留百分的两位小数 |
string.Format("{0:P1}", 0.24583) |
24.6% |
自动四舍五入 |
? | ? | ? |
往返过程 |
||
Double.ToString(“R”) Double.ToString(“r”) Single.ToString(“R”) Single.ToString(“r”) |
? |
往返过程,适用于Double和Single |
? | ? | ? |
零占位符和数字占位符 |
||
string.Format("{0:0000.00}", 12394.039) |
12394.04 |
? |
string.Format("{0:0000.00}", 194.039) |
0194.04 |
? |
string.Format("{0:###.##}", 12394.039) |
12394.04 |
? |
string.Format("{0:####.#}", 194.039) |
194 |
? |
? | ? | ? |
日期时间 |
? | ? |
string.Format("{0:d}",System.DateTime.Now) |
2009-3-20 |
月份位置不是03 |
string.Format("{0:D}",System.DateTime.Now) |
2009年3月20日 |
? |
string.Format("{0:f}",System.DateTime.Now) |
2009年3月20日 15:37 |
? |
string.Format("{0:F}",System.DateTime.Now) |
2009年3月20日 15:37:52 |
? |
string.Format("{0:g}",System.DateTime.Now) |
2009-3-20 15:38 |
? |
string.Format("{0:G}",System.DateTime.Now) |
2009-3-20 15:39:27 |
? |
string.Format("{0:m}",System.DateTime.Now) |
3月20日 |
? |
string.Format("{0:t}",System.DateTime.Now) |
15:41 |
? |
string.Format("{0:T}",System.DateTime.Now) |
15:41:50 |
? |
string.Format("{0:r}",System.DateTime.Now) |
Sun, 17 Jun 2012 10:12:56 GMT |
RFC1123 日期格式 |
string.Format("{0:s}",System.DateTime.Now) |
2012-06-17T10:15:12 |
排序日期字符串 |
string.Format("{0:Y}",System.DateTime.Now) |
2012年6月 |
? |
string.Format("{0:U}",System.DateTime.Now) |
2012年6月17日 2:19:51 |
通用排序, GMT时间 |
string.Format("{0:u}",System.DateTime.Now) |
2012-06-17 10:19:51Z |
通用排序,本地时间 |
? | ? | ? |
日期时间(自定义) |
? | ? |
{0:dd} |
10 |
Day |
{0:ddd} |
Tue |
Day name |
{0:dddd} |
Tuesday |
Full day name |
{0:fff} |
932 |
毫秒 |
{0:gg} |
A.D. |
Era |
{0:hh} |
10 |
2 digit hour |
{0:HH} |
22 |
2 digit hour, 24hr format |
{0:mm} |
38 |
Minute 00-59 |
{0:MM} |
12 |
Month 01-12 |
{0:MMM} |
Dec |
Month abbreviation |
{0:MMMM} |
December |
月的名字 |
{0:ss} |
46 |
秒数从00到59 |
{0:tt} |
PM |
AM或PM(上午或下午) |
{0:yy} |
02 |
年(两位数字) |
{0:yyyy} |
2002 |
年 |
{0:zz} |
-05 |
Timezone offset, 2 digits |
{0:zzz} |
-05:00 |
Full timezone offset |
{0:hh:mm:ss} |
10:43:20 |
Separator |
{0:dd/MM/yyyy} |
10/12/2002 |
Separator |
? | ? | ? |
字符串 |
? | ? |
String.Format("->{0,10}<-", "Hello"); |
-> Hello<- |
至少10字符,不够前面(正数)补空 |
String.Format("->{0,-10}<-", "Hello") |
->Hello <- |
至少10字符,不够后面(负数)补空 |
? | ? | ? |
电话号码自定义 |
? | ? |
String.Format("{0:(###) ###-####}", 18005551212) |
(1800) 555-1212 |
? |
String.Format("{0:(##)####-########}", 86075487870252) |
(86)0754-87870252 |
? |
String.Format("{0:(##)####-########}", 086075487870252) |
(86)0754-87870252 |
? |
? | ? | ? |
零占位符”0” |
? | ? |
int i=120; |
00,120.00 |
? |
? | ? | ? |
数字占位符”#” |
? | ? |
double d=12050.8520; |
12,050.85 |
? |
? | ? | ? |
? | ? | ? |