rt,不要四舍五入的.

解决方案 »

  1.   

    double dbdata=0.335333;
    string str1=String.Format("{0:F}",dbdata);//默认为保留两位
      

  2.   

    转化为string类型,然后截取字符串
      

  3.   

    1、Math.Round(0.333333,2);//按照四舍五入的国际标准
    2、
    double dbdata=0.335333;
    string str1=String.Format("{0:F}",dbdata);//默认为保留两位
    3、
    float i=0.333333;
    int j=(int)(i * 100);
    i =  j/100;
    4、
    decimal.Round(decimal.Parse("0.3333333"),2)
    5、
    private System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();float test=0.333333f;
    nfi.NumberDecimalDigits=2;
    string result=test.ToString("N", nfi);
    6、
    string result= String.Format("{0:N2}",Convert.ToDecimal("0.333333").ToString());
    引用通告地址: http://tmsoft.lsxy.com/trackback.php?tbID=138&extra=8d6457
      

  4.   

    bianchenglangzi_110 兄弟,乃的方法好象都不行落~都进位了的说。
      

  5.   

         double dbdata = 0.395333;            dbdata = dbdata - 0.005;
              
                MessageBox.Show(dbdata.ToString("0.00"));
      

  6.   


    #region 修约间隔的数据处理
    private double DataTreat(double interval)
    {
    double treat = this.d_IntialData;
    int units;
    int tens;
    units = (int)(treat*10/interval);
    tens = units/10;
    int end = units%10;
    if(end>5)
    {
    tens += 1;
    }
    else if(end == 5)
    {
    if(tens%2 == 1)
    {
    tens+=1;
    }
    }
    treat = tens*interval;
    return treat;
    }
    #endregion四舍六入,五单双
      

  7.   

    System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo(); 
    nfi.NumberDecimalDigits=2; 
    Math.Floor(Convert.ToDecimal(resultVal)).ToString("N", nfi)Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat
    nfi.NumberDecimalDigits = 2
    resultVal = Math.Floor(Convert.ToDecimal(resultVal)).ToString("N", nfi)
      

  8.   

    这个其实也有方法的
    Math.Round(Decimal, MidpointRounding) 重载,MidpointRounding在两个数字之间时如何舍入的规范,规范MidpointRounding中它有2个成员,一个是ToEven还有个是AwayFromZero。
    ToEven就是银行家算法吧,也就是四舍六入五成双或者是四舍六入五凑偶..取偶..等等
    AwayFromZero这个就是四舍五入了
      

  9.   

    1、乘以100取整,转换成float,然后除以100.0
    2、减去0.005,在进行四舍五入处理
      

  10.   

     
    double d = 0.23421313212 ;
    string n = d.Tostring();
    n = n.Substring(0,(n.IndexOf('.')==-1?n.Length:n.IndexOf('.')+3));  
    d = Convert.ToDouble(n);
      

  11.   

     
    double d = 0.23421313212 ;
    string n = d.Tostring();
    n = n.Substring(0,(n.IndexOf('.')==-1?n.Length:n.IndexOf('.')+3));  
    d = Convert.ToDouble(n);
      

  12.   

    这些大侠都不看题目的
    LZ是要不四舍五入的。将数组toString然后截取。。OK。。
    手头没编译器。。没法给你试
      

  13.   

    想起了decimal....
    从数据库传回来的能有效限制小数位数.
    但自己却怎么也创建不了这种decimal.....
      

  14.   

    这样了
    double i=0.555555;
    int j=i*1000;
    int j=(j%10)/10
      

  15.   


    错了,应该是这样
    double i=0.555555; 
    int j=i*1000; 
    int j=(j%10)/100
    应该是除以100
      

  16.   

    告诉你思路设x为double的小数然后x-x除以0.01的余数就是你要的不要四舍五入的两位小数其中textbox1为输入的小数值         double x = double.Parse(TextBox1.Text.Trim());
            double y = x % 0.01;
            double z = x - y;        TextBox2.Text = y.ToString();
            TextBox3.Text = z.ToString();
      

  17.   

    呵呵...这个可以用...就是烦琐一点...有更好的...大家拿出来分享啊....
    double doubleNUm2 = 1.026666;
    doubleNUm2 = Convert.ToDouble(FormateDouble(doubleNUm2, 2)) =1.02;  private string FormateDouble(double doubleNum, int lenght)
            {
                string retDouble = string.Empty;            string strNum = doubleNum.ToString();            string[] strArr = new string[2];                        strArr = strNum.Split('.');            if (strArr.Length == 2)
                {
                    if (strArr[1].Length > 0)
                    {
                        if (strArr[1].Length > lenght)
                        {
                            retDouble = strArr[0].ToString() + "." + strArr[1].ToString().Substring(0, lenght);
                        }
                        else
                        {
                            string plugZore = strArr[1].ToString();
                            for (int i = 0; i < lenght - strArr[1].Length; i++)
                            {
                                plugZore += "0";
                            }                                              retDouble = strArr[0].ToString() + "." + plugZore;
                        }
                    }
                }
                else
                {
                    retDouble = strArr[0].ToString();
                }            return retDouble;
            }
      

  18.   

    double test=0.333333;
    string temp=test.toString();
    temp.subString(temp.indexOf('.'),2);
      

  19.   

    kjkj911 兄弟的方法也相当好用...
    但贴子已结了,口头谢谢了。
      

  20.   

    double d1 = 23.43674454;
                s = d1.ToString();
                int index = s.IndexOf('.');
                if (index < s.Length - 2)
                {
                    s = s.Substring(0, index + 3);
                }            d1 = Convert.ToDouble(s);d1的值是23.43
      

  21.   

    可以这样写吧
     decimal value= getValue.ToString("f2");