"22千克" 如何取到前面的数字22

解决方案 »

  1.   

    string str="22千克";string str1=str.SubString(0,2);string str1=str.Replace("千克","");
      

  2.   

    string str="22千克"; string str1=str.SubString(0,2); string str1=str.Replace("千克","");
    正解!
      

  3.   

    public static double ObjectToDouble(object oObj)
            {
                if (oObj != null)
                {
                    string sObj = oObj.ToString();
                    double nObj;
                    for (int n = sObj.Length; n > 0; n--)
                    {
                        if (double.TryParse(sObj.Substring(0, n), out nObj)) return nObj;
                    }
                }
                return 0;
            }
      

  4.   

    string str="???千克"; //数字位数不定double r=double.parse(str.SubString(0,str.length-2)); //直接取数字部分
      

  5.   

    直接用string str1=str.Replace("千克","");就可以搞定了
      

  6.   

    还有一种方法:
    如:
    string str = "22千克";
    string str1 = "";
    for(int i=0;i<str.Length;i++)
    {
      if(char.IsDigit(str[i]))
         str1 += str[i];
    }
      

  7.   

    substring 虽然也可以完成,但觉得正则的方法还是好点
      

  8.   

    Regex.Replace(str, "\\D", string.Empty);
      

  9.   

    string str="22千克"; string str1=str.SubString(0,2); string str1=str.Replace("千克",""); 
      

  10.   

    正則表達式,直接提取出來.
    string str=@"\d";