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"); 
12345.ToString("x4"); 
12345.ToString("X2");

//生成 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)

金额,千位分隔符,两个小数 
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; 
Console.WriteLine(i.ToString("00,000.00")); 
Console.WriteLine("{0:00,000.00}",i);

00,120.00

?
? ? ?

数字占位符”#”

? ?

double d=12050.8520; 
Console.WriteLine(d.ToString("##,###.##")); 
Console.WriteLine("{0:##,###.##}",d);

12,050.85

?
? ? ?
? ? ?

你可能感兴趣的:(C#杂记:String.Format大全)