如何将诸如"CNY20元","¥32.00元"这样的字符串转换为数值?

解决方案 »

  1.   

    是不是只要得到"CNY20元","¥32.00元"中的20、32.00这些数值??
      

  2.   

    Regex reg=new Regex(@"\d+(\.\d+)*");
    string a=reg.Match("CNY20元").Value;
    //这样应该可以
      

  3.   

    string s = "¥32.00元";
    string tmp="";
    bool begin = false,noDot = true;
    foreach(char c in s)
    {
        if (char.IsDigit(c) || c=='.' && noDot)
        {
            begin = true;
            tmp+=c;
            if (c=='.')noDot = false;
        }
        else
        {
            if (begin)break;
        }
    }
    decimal val = decimal.Parse(tmp);//你要的数值
      

  4.   

    cancerser(都是混饭吃,记得要结帖)方法OK试了一下,不错加个using System.Text.RegularExpressions;命名空间后面再Double d = System.Convert.ToDouble(a);转一下收藏他的
      

  5.   

    string content=@"12CN22Y20.9228元";TextBox1.Text = Regex.Replace(content, @".*(?!(\d*(\.\d*)?元)).|(元.*)", "", RegexOptions.IgnoreCase);