1 方法一:
 2     decimal d= decimal.Round(decimal.Parse("0.55555"),2);  
 3 方法二:
 4 Math.Round(0.55555,2)  
 5 方法三:
 6 double dbdata = 0.55555;   
 7 string str1 = dbdata.ToString("f2");//fN 保留N位,四舍五入 
 8 方法四:
 9 string result = String.Format("{0:N2}", 0.55555);//2位   
10  
11 string result = String.Format("{0:N3}", 0.55555);//3位 
12 方法五:
13 double s=0.55555;   
14 result=s.ToString("#0.00");//点后面几个0就保留几位 
C#保留小数位N位,四舍五入
 1 public string getRate(double hcount, double task)   
 2 {   
 3 string rValue;   
 4 string temp = "";   
 5  
 6 if (task == 0)   
 7 {   
 8 task = 1;   
 9 }   
10  
11 double db = (hcount / task) * 100;   
12  
13 if (hcount >= task)   
14 {   
15 rValue = "100%";   
16 }   
17 else   
18 {   
19 rValue = db.ToString("#0.#0") + "%";   
20 }   
21 return rValue;   
22 }   
23  
24 string str1 = String.Format("{0:N1}",56789); //result: 56,789.0   
25 string str2 = String.Format("{0:N2}",56789); //result: 56,789.00   
26 string str3 = String.Format("{0:N3}",56789); //result: 56,789.000   
27 string str8 = String.Format("{0:F1}",56789); //result: 56789.0   
28 string str9 = String.Format("{0:F2}",56789); //result: 56789.00   
29 string str11 =(56789 / 100.0).ToString("#.##"); //result: 567.89   
30 string str12 =(56789 / 100).ToString("#.##"); //result: 567 
C#保留小数,用toString方法
1 用NumberFormatInfo类来解决:
2 
3     System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();   
4      
5     provider.PercentDecimalDigits = 2;//小数点保留几位数.   
6     provider.PercentPositivePattern = 2;//百分号出现在何处.   
7     double result = (double)1 / 3;//一定要用double类型.   
8     Response.Write(result.ToString("P", provider));  
C#保留小数位数,及百分号的解决方法

 

posted on 2015-06-11 11:51  太空飞鼠  阅读(2333)  评论(0编辑  收藏  举报