C#.ToString()格式大全

2021-03-15 15:39

阅读:585

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

补充:

1、C#中用最简单的方法把数字(不含小数)转换为千分位格式:
如1234567变成1,234,567

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

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

1234567.891变成1,234,567.89

方法:String.Format("{0:N}",1234567.891);  //默认为两位小数,如果没有小数位,则小数位补两个0

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


评论


亲,登录后才可以留言!