可以用字符的ASII码来实现,用一个条件表达式就可以!不过ASII码有点忘了!

解决方案 »

  1.   

    private string Val(string str)
    {
    string temp=null;
    foreach(char a in str.ToCharArray())
    {
    try
    {
    Int32.Parse(a.ToString());
    temp +=a;
    }
    catch
    {
    break;
    } }
    return temp;
    }
      

  2.   

    sandy2001你的想法的确不错,不过并不符合要求。
    需要再加入几行code
    private static double myVal(string strValue)
    {
    string str1=null;
    foreach(char tempChar in strValue.ToCharArray())
    {
    try
    {
    if((tempChar.ToString()==" ")||(tempChar.ToString()==","))
    {
    continue;
    }
    Int32.Parse(tempChar.ToString());
    str1+=tempChar;
    }
    catch
    {
    break;
    }

    }
    return double.Parse(str1);
    }
      

  3.   

    sandy2001只是给个思路代码还是要根据自己的需要写
      

  4.   

    to citymeteor(流星) :
        因为我记得好像MSDN里面说过错误处理没用任何性能的影响:)
      

  5.   

    tempChar.ToString()=="  "
    改为
    tempChar.ToString().Equals(" "):)
      

  6.   

    可以用正则表达式来实现你要的功能. 具体可以参考下面的代码:
    private string val(string str)
    {
    str = str.Replace(" ","");
    Regex re = new Regex(@"^(?<Number>(?:\+|-)?\d+(?:\.\d+)?).*$",RegexOptions.IgnoreCase);
    Match m = re.Match(str);
    return m.Groups["Number"].Value; }