如何将小数截断为小数为2位,比如3.888截断为3.88
(不是四舍五入)3.556666截断为3.55

解决方案 »

  1.   

    double a = 3.556666;
    int b = (int)(a * 100);
    a = ((float)b) / 100;
    Console.WriteLine(a.ToString());
    Console.ReadLine();
      

  2.   

    先split('.')
    切成两半,后一半再用字符串函数取前两位,
    再合回去就行了呵呵,这个方法有点儿笨哦
      

  3.   

    我也来一个: double aaa = 3.88888888888888;
    string tmp = aaa.ToString("0.00");
    double result = Double.Parse( tmp );
      

  4.   

    double a = Convert.ToDouble(a.ToString(".00"));
      

  5.   


                double a = 1213.22125;            int i=a.ToString().IndexOf('.');             double b= double.Parse(a.ToString().Substring(0, i+3));b 就是要得到的数
    应该是对的吧
    快给分吧
      

  6.   

    算了,本来想看看.net有没有简单的方法可以调用的楼上的几个都不是太好
    如果我输1.1用上面的方法就出错
    要么就是给我输出1.10,其实我还是要1.1
      

  7.   

    搞笑了,以前好象用其他工具写,有现成的函数可以调用的,怎么在net找不到呢
    自己写个方法好了..
      

  8.   

    float a = 3.888888f;
    int b = (int)(a * 100);
    a = (float)a/100;
      

  9.   

    float a = 3.888888f;
    a = Math.Floor(a*100)/100;
      

  10.   

    double temp = 0.88998;
    string ccc = temp.ToString ("#0.00");
    temp = Convert.ToDouble (ccc);
      

  11.   

    string str = "1.8";
                string snew = "";
                for (int i=0,j=0,ifind=0;i<str.Length&&j<2;i++)
                {
                    if (ifind==1)
                        j++;
                    
                    if (str[i] == '.')
                        ifind = 1;
                    snew += str[i];
                    
                }snew 就是了,感觉代码很垃圾,不管了能用就行了...
      

  12.   

    decimal d=3.337;
    decimal dFormat = decimal.Floor(2m*100m)/100m;
      

  13.   

    decimal d=3.337;
    decimal dFormat = decimal.Floor(d*100m)/100m;
      

  14.   

    decimal d=3.337m;
    decimal dFormat = decimal.Floor(d*100m)/100m;
      

  15.   

    string[] temp = str.Split('.');
                string a = temp[1].ToString();
                
                string c = temp[0].ToString();
                string b = a.Substring(0, 2);
                string d = c + "." +b;
      

  16.   

    最快的实现方法:
    float fun (float fIn)
    {
          return float(int(fIn*100))/100;
    }