String sql = "select max(code) from pic where code like lay%";
            DataSet ss = new DataSet();
            ss=ole.GetDataSet(sql,"info");
            MessageBox.Show(ss.Tables["info"].Rows[0][0].ToString());
这是一个从数据库的编号字段中取出的一个最大值 比如 取出的值是 lay10000 问如何把"lay10000"后面的数字"10000"取出来?

解决方案 »

  1.   

    从最高位判断,哪一位开始是数字,然后截取,判断是数字可以通过ASCII
      

  2.   

    前面的前缀有没有规律,如果长度确定的话,使用一个Substring就可以了。 
      

  3.   

    lay 开头 数字是5位 代码怎么写!
      

  4.   

    string s1=ss.Tables["info"].Rows[0][0].ToString();
    string s2=s1.Substring(4);
    int a=int.parse(s2);
      

  5.   

    前提是你确定前缀一定是lay或其他3位长的字符串。
      

  6.   


    问什么 显示说 Int 不包含 对parse的 引用呢?
      

  7.   


            string str = "lay10000";
            char[] ch=str.ToCharArray();
            string strnum = "";
            for (int i = 0; i < ch.Length;i++ )
            {
                if (ch[i] >= 48 && ch[i] <= 57)
                {
                    strnum += ch[i];
                }
            }
            MessageBox.Show(strnum);
      

  8.   

    吧取出来的值 REPLACE 下