常见几种转换方法
在很多对象显示为字符串的时候都会使用到ToString中的格式化,由于以前没怎么注意到这个问题,想总结一下各个基础结构对象的格式化,以便后备之用!!!
Int.ToString(format):
格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数,具体如下:
格式说明符:
说明 | 示例 | 输出 | |
---|---|---|---|
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 |
P | 百分比 | 0.1256.ToString(“P”) | 12.56% |
X | 十六进制 | 255.ToString(“X”) | FF |
转换为百分比格式
deciaml percent = 0.123456789123456789M;
string q1 = percent.ToString("P"); //12.35%;自动四舍五入,百分数,千位分隔,自动两个小数
string q2 = percent.ToString("P0"); //12%;P后边跟数字,代表精度。
string q3 = percent.ToString("P1"); //12.3%;
string q5 = string.Format("{0:p}",percent); //12.35%;
//##个数表示保留的小数位数(必要时四舍五入)
string q6 = percent.ToString("0.##%"); //得到 "12.35%"
转换为千分位格式
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
C#提供的这些方法还是非常的好用的,不用自己写。