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