string s1="s123";
string s2="1234"
通过什么样的函数可以把s1,s2转化为整型的。比如把s1转为123。s2转为1234。
s1和s2要求用同一个函数进行转化!!!

解决方案 »

  1.   

    Convert.ToInt32(s1.Trim('s'))
    莫非我理解错误了
      

  2.   

                   int i;
                string ss = "ss234";
                //i = Int16.Parse(ss);
                i = Convert.ToInt16(ss);楼上的大哥门。你们尝试过么。你们说的方法我都尝试过了。貌似都不行!!!!!
      

  3.   

    string ss="fsdfadf1243";
    i=Convert.ToInt32(System.Text.RegularExpressions.Regex.Match(ss, @"\d+").Value);
      

  4.   

    string s1="a123";Regex reg = new Regex("\\D*(\\d+)\\D*");
    if(reg.IsMatch(s1))
    {
        Convert.ToInt32(reg.replace(s1, "$1");
    }
      

  5.   

    有个笨方法,将字符串转为byte[],判断各个byte[i]是的ASCII码是否为0-9,或者-,.负号只能在头一位,然后在为数字即可,用正则表达式更容易实现,不过要剔除不合法字符,在转化
      

  6.   


            static int ToInt(string istr) 
            { 
                Regex regexToInt = new Regex(@"(?<result>\d\d*)");
                return Convert.ToInt32(regexToInt.Match(istr).Groups["result"].Value);
            
            }
    加个正则就ok了
      

  7.   


            static int ToInt(string istr) 
            { 
                Regex regexToInt = new Regex(@"[^\d]*");
                return Convert.ToInt32(regexToInt.Replace(istr,""));
            
            }这样可以过滤掉所有非数字字符
      

  8.   

    ^(-?[0-9]*[.]*[0-9]{0,3})$
    这是正则表达式 网上down的 测试过应该没问题
      

  9.   


    int Toint(string s)
    {
    return Convert.ToInt32(System.Text.RegularExpressions.Regex.Match(s, @"\d+").Value);
    }
      

  10.   

    using System;
    using System.IO;
    class Test
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetNumber("s123"));
            Console.WriteLine(GetNumber("1234"));
            Console.ReadKey();
        }
        static int GetNumber(string str)
        {
            return Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(str, @"[^\d]", string.Empty));
        }
    }