试试:
[WebMethod]
public int findit(string number)
{
int tempnumber;
tempnumber=int.Parse(number.Substring(0,7));
         return tempnumber;
}

解决方案 »

  1.   

    [WebMethod]
    public int findit(string number)
    {
    int tempnumber;
             string[] strarr = new string[];
             strarr = number.Substring(0,7);
    tempnumber=Convert.ToInt16(strarr[0]);
             return tempnumber;
    }
      

  2.   

    public int findit(string number)
    {
    int tempnumber;
             if(number.Length>6)
             { 
               //如果输入字串长于6,就截取前7位出来尝试转成整数,转换失败的话就输出0
               try{tempnumber=Convert.ToInt16(number.Substring(0,7));}
               catch{return 0;}
             }
             else
             { //如果输入字串小于7,就尝试转成整数,转换失败的话就输出0
               try{tempnumber=Convert.ToInt16(number);}
               catch{return 0;}
             }
             return tempnumber;
    }
    你的编程思维不够严谨,我要是测试人员的话,可能我会让你很尴尬
    PS:尽量少用Substring,它很慢,不适合在高速环境下
      

  3.   

    tempnumber=Int32.Parse(number.Substring(0,7);
      

  4.   

    用Convert.ToInt16是不行的,必须用Convert.ToInt32才能
    Convert.ToInt16的最大值是32767(1234567>32767)不能用
    Convert.ToInt32的最大值是2,147,483,647