我想把 76.00转换成 76
 76.10转换成 76.1
 87.30转换成 87.3 就是说想把从数据库里面取出的数字小数点后边的没有意义的0去掉请大家解答一下

解决方案 »

  1.   

    float fValue = 71.10f;
    string strValue = fValue.ToString( "#.#" );
      

  2.   

    这个好做啊
    判断这个字符串最后一位为0 则取length-1位str=number.tostring();
    if(string.compare(str.substring(str.length-1,str.length),"0")==0)

    str=str.substring(0,str.length-1)
    return(double.parse(str);
    }
    return(double.parse(str);
      

  3.   

    Ivony() 
    我的就是:  数据库里面不是字符串类型的而是定点整型或者浮点型问题是,我显示的时候,他把后面没有用的0也显示出来了啊
      

  4.   

    我这样用的
    this.txtSH_Num.Text = tempTable.Rows[currentRowNumber]["比例"].ToString();后面老是显示  12.00, 13.10 之类,我不想要后面的那个0
      

  5.   

    string a =  tempTable.Rows[currentRowNumber]["比例"].ToString();
    string b = a.Substring(a.Length - 1, 1);
     if (b == "0")
     {
      a = a.Remove(a.Length - 1);
     }
    this.txtSH_Num.Text =a;
      

  6.   

    sckoo(挨踢工程师)
    你说的只能去掉一个0吧23.00  你那上面写的去不掉吧, 能成 23 ??????
      

  7.   

    string a = tempTable.Rows[currentRowNumber]["比例"].ToString();
                int n = a.LastIndexOf(".");
                if (a.Substring(n + 1, a.Length - n - 1) == "00")
                {
                    a = a.Remove(a.Length - 3);
                }
                else if (a.Substring(a.Length - 1, 1) == "0")
                {
                    a = a.Remove(a.Length - 1);
                }
                this.txtSH_Num.Text =a;
      

  8.   

    change
    this.txtSH_Num.Text = tempTable.Rows[currentRowNumber]["比例"].ToString();with
    Decimal dValue = Convert.ToDecimal( tempTable.Rows[currentRowNumber]["比例"].ToString() );
    this.txtSH_Num.Text = dValue.ToString("#.#");
      

  9.   

    Knight94(愚翁) 同学说的可以编译通过
    但是,我现在不知道测试密码,回去查查密码测试一下,看看
      

  10.   

    sckoo(挨踢工程师) 
    如果是两个0 你那个后面的小数点,没有去掉啊
      

  11.   

    sckoo(挨踢工程师) 你是说 Knight94(愚翁) 同学写的:Decimal dValue = Convert.ToDecimal( tempTable.Rows[currentRowNumber]["比例"].ToString() );
    this.txtSH_Num.Text = dValue.ToString("#.#");是吗??去不掉,我踢你一脚哈,站着!!不要跑~~~~~~~~~~  ^-^
      

  12.   

    public string NumConvert(float num)
    {
      String str = num.ToString();
      while (str.SubString(str.Length - 1,1) == "0")
      {
        str = str.SubString(0,str.Length - 1);
      }
      return str;
    }
      

  13.   

    Knight94(愚翁)
    你的方法要是"19.01"那就不行了 连.01都去掉了
      

  14.   

    asdf311(gloomyvagrant)这个方法不错
    但是缺少个 || str.SubString(str.Length - 1,1) ==“.”
      

  15.   


    Decimal dValue = Convert.ToDecimal( tempTable.Rows[currentRowNumber]["比例"].ToString() );
    this.txtSH_Num.Text = dValue.ToString("#.##");
      

  16.   

    对的哦!!遇到“.”的话 str.SubString(str.Length - 1,1) 就不等于 "0" 了 会跳出循环的哦没看懂就不要 乱说!!!
      

  17.   

    sckoo(挨踢工程师)  同学下面实现方法感觉是可以实际可以吗?如果是 0.00  要的结果是0 啊     看着是可以,我实验一下string a = tempTable.Rows[currentRowNumber]["比例"].ToString();
                int n = a.LastIndexOf(".");
                if (a.Substring(n + 1, a.Length - n - 1) == "00")
                {
                    a = a.Remove(a.Length - 3);
                }
                else if (a.Substring(a.Length - 1, 1) == "0")
                {
                    a = a.Remove(a.Length - 1);
                }
                this.txtSH_Num.Text =a;
      

  18.   

    string a = tempTable.Rows[currentRowNumber]["比例"].ToString();
                int n = a.LastIndexOf(".");
                if (a.Substring(n + 1, a.Length - n - 1) == "00")
                {
                    a = a.Remove(a.Length - 3);
                }
                else if (a.Substring(a.Length - 1, 1) == "0")
                {
                    a = a.Remove(a.Length - 1);
                }            
                if (a=="0" || a=="00")
                {
                    a="0";
                }
                this.txtSH_Num.Text =a;
      

  19.   

    说实话,为什么不用格式化显示方法呢
    Decimal dValue = Convert.ToDecimal( tempTable.Rows[currentRowNumber]["比例"].ToString() );
    this.txtSH_Num.Text = dValue.ToString("#.##");即使不用如上的方法,你可以通过trimend方法即可修改,如下:
    string strValue = tempTable.Rows[currentRowNumber]["比例"].ToString();
    strValue = strValue.TrimEnd( new char[]{'0'} );
    strValue = strValue.TrimEnd( new char[]{'.'} );
      

  20.   

    同学们不要吵了经过刚才测试  sckoo(挨踢工程师)  同学和 Knight94(愚翁)同学的算法都能得出正确答案
    算法1:
    string a = tempTable.Rows[currentRowNumber]["比例"].ToString();
                int n = a.LastIndexOf(".");
                if (a.Substring(n + 1, a.Length - n - 1) == "00")
                {
                    a = a.Remove(a.Length - 3);
                }
                else if (a.Substring(a.Length - 1, 1) == "0")
                {
                    a = a.Remove(a.Length - 1);
                }
                this.txtSH_Num.Text =a;
    算法2:
    Decimal dValue = Convert.ToDecimal( tempTable.Rows[currentRowNumber]["比例"].ToString() );
    this.txtSH_Num.Text = dValue.ToString("#.##");
     sckoo(挨踢工程师)  同学不用挨踢了  Knight94(愚翁)同学的实现方法更简洁,所以改名叫“聪明”同学谁还有什么话,请举手没有人回应的话就结帖了哈
      

  21.   

    呵呵 我只到正则表达式好用 只是我不会写 呵呵 :) Knight94(愚翁)厉害 不错
      

  22.   

    感谢愚翁
    float fValue = 71.10f;
    string strValue = fValue.ToString( "#.#" );