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);
C# .ToString()
格式化 常用数据转化小总结
1、百分比
int i = 400;
int j = 200;
string p = ((double)i / j).ToString("P");//结果:200.00%
p = string.Format("{0:p}",0.126) //结果:12.60%
2、指定小数点位置(四舍五入)
//保留整数位
double a = 3.52312;
string b = a.ToString("F0");//结果:4
double c = 3.49999;
string d = c.ToString("F0");//结果:3
//保留2位小数
double a = 3.516;
string b = a.ToString("F2");//结果:3.52
//保留6位小数
double a = 3.5161256;
string b = a.ToString("F6");//结果:3.516126
3、double
转int
会自动四舍五入
double a = 3.52312;
a = Convert.ToInt32(a);//结果:4
double c = 3.49999;
c = Convert.ToInt32(c);//结果:3
4、数字前面补足0
int a = 1;
b = a.ToString("d8");//结果:00000001
b = a.ToString("d4");//结果:0001
b = a.ToString("d2");//结果:01
5、千分符
string b = "";
//C#中用最简单的方法把数字(不含小数)转换为千分位格式
b = 1234567.ToString("###,###");//结果:1,234,567
b = 1234567.ToString("N0");//结果:1,234,567
//C#中把数字转换成带两位小数的千分位字符(其中N2是保留2位小数,N3则是保留三位小数,保留小数会四舍五入)
b = String.Format("{0:N}", 1234567.891); //结果:1,234,567.89
b = String.Format("{0:N}", 1234567); //结果:1,234,567.00 默认为两位小数,如果没有小数位,则小数位补两个0
b = String.Format("{0:N2}", 1234567.896);//结果:1,234,567.90
6、C货币
2.5.ToString("C");//结果:¥2.50
7、十进制数
25.ToString("D5");//结果:00025