C#.ToString()格式大全

原文:C#.ToString()格式大全

C#.ToString()格式大全

stringstr1=string.Format("{0:N1}",56789);               //result: 56,789.0

stringstr2=string.Format("{0:N2}",56789);               //result: 56,789.00

stringstr3=string.Format("{0:N3}",56789);               //result: 56,789.000

stringstr8=string.Format("{0:F1}",56789);               //result: 56789.0

stringstr9=string.Format("{0:F2}",56789);               //result: 56789.00

stringstr11 =(56789 /100.0).ToString("#.##");          //result: 567.89

stringstr12 =(56789 / 100).ToString("#.##");             //result: 567

C
或 c货币

Console.Write("{0:C}", 2.5);//$2.50

Console.Write("{0:C}", -2.5);//($2.50)

D
或 d十进制数

Console.Write("{0:D5}", 25);//00025

E
或 e科学型

Console.Write("{0:E}", 250000);//2.500000E+005

F
或 f固定点

Console.Write("{0:F2}", 25);//25.00

Console.Write("{0:F0}", 25); //25

G
或 g常规

Console.Write("{0:G}", 2.5);//2.5

N
或 n数字

Console.Write("{0:N}", 2500000);//2,500,000.00

X
或 x十六进制

Console.Write("{0:X}", 250); //FA

Console.Write("{0:X}", 0xffff);//FFFF

C
货币

2.5.ToString("C")  ¥2.50

D  十进制数

25.ToString("D5")    00025

E科学型

25000.ToString("E")   2.500000E+005

F  固定点

25.ToString("F2")    25.00

G
常规

2.5.ToString("G")     2.5

N
数字

2500000.ToString("N")      2,500,000.00

X  十六进制

255.ToString("X")     FF

formatCode是可选的格式化代码字符串。(详细内容请搜索“格式化字符串”查看)

必须用“{”和“}”将格式与其他字符分开。如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即:“{{”或者“}}”。

常用格式举例:

(1) int i=12345;

this.textBox1.Text=i.ToString();

//结果 12345(this指当前对象,或叫当前类的实例)

this.textBox2.Text=i.ToString("d8");

//结果 00012345

(2) int i=123;

double j=123.45;

string s1=string.Format("the value is{0,7:d}",i);

string s2=string.Format("the value is{0,7:f3}",j);

this.textBox1.Text=s1 ;

//结果 the value is 123

this.textBox2.Text=s2;

//结果 the value is123.450

(3)double i=12345.6789;

this.textBox1.Text=i.ToString("f2");//结果 12345.68

this.textBox2.Text=i.ToString("f6");

//结果 12345.678900

(4)double i=12345.6789;

this.textBox1.Text=i.ToString("n");//结果 12,345.68

this.textBox2.Text=i.ToString(“n4”); //结果12,345.6789

(5)double i=0.126;

string s=string.Format("the value is{0:p}",i);

this.textBox1.Text=i.ToString("p");//结果 12.6%

this.textBox2.Text=s; //结果 the valueis 12.6%

(6) DateTime dt =new DateTime(2003,5,25);

this.textBox1.Text=dt.ToString("yy.M.d");

//结果 03.5.25

this.textBox2.Text=dt.ToString(“yyyy年M月”);

//结果 2003年5月

Convert.ToDateTime("2005/12/2222:22:22").ToString("yyyy/MM/dd HH:mm:ss")

"2005/12/22 22:22:22"

(7) int i=123;

double j=123.45;

strings=string.Format("i:{0,-7},j:{1,7}",i,j);

//-7表示左对齐,占7位

this.textBox1.Text=s ;

//结果i:123 ,j: 123.45

补充:

、C#中用最简单的方法把数字(不含小数)转换为千分位格式:

     变成1,234,567

方法:1234567.ToString("###,###")  或  1234567.ToString("N0")

、C#中把数字转换成带两位小数的千分位字符:

如1234567.891变成1,234,567.89

或:String.Format("{0:N2}",1234567.891);

上一篇:2016 Google code jam 答案


下一篇:title:EL表达式获取Map里面的数值失败的问题