小数点后几位的保留问题

 1     /// <summary>
 2     /// 显示数量的地方将数字格式化,判断如果小数点后为0,
 3     /// 则不显示小数点以及后面的00,如果有一位,显示一位
 4     /// 小数,如:134.5;如果两位,显示两位小数,如:123.45;
 5     /// 如果超过两位,四舍五入到两位
 6     /// </summary>
 7     /// <param name="num"></param>
 8     /// <returns></returns>
 9     public static string FormateQuantity(double num)
10     {
11         string arraylist = "";
12         int temp = 0;
13         string returnStr = "";
14         //先四舍五入取值
15         arraylist = Math.Round(num, 2).ToString();
16         if (arraylist.IndexOf('.') > 0)
17         {
18             string strInteger = arraylist.Split('.')[0];
19             string strFloat = arraylist.Split('.')[1];
20             //截取后面的0
21             for (int i = strFloat.Length - 1; i >= 0; i--)
22             {
23                 if (strFloat[i].ToString() != "0")
24                 {
25                     temp = i;
26                     break;
27                 }
28             }
29             for (int i = 0; i <= temp; i++)
30             {
31                 returnStr += strFloat[i].ToString();
32             }
33             returnStr = strInteger +"."+ returnStr;
34         }
35         else {
36             returnStr = arraylist;
37         }
38         return returnStr;
39     }
原文地址:https://www.cnblogs.com/zhangpan1244/p/2324285.html