解决这个问题的思路是,从字符串的最后一位取一个字母,如果这个字符是9的话则再取这个字符串的前一位,并判断前一位是不是9如果是9的话则继续取字符串的前一位,这里只所以判断所取的字符是不是9是因为,如果是9的话加1后将变成10存在一个进位的问题.知道找到不是9的那个字符位置,然后跳出循环条件并记录下不是9的字符所在的位置,然后根据记录的位置将原来的字符串分割成两部分,将后面一部分字符串转化成数值类型并进行加1操作,然后将操作后得到的数值转化为字符串并和前一部分连接成一个字符串,这样连接后的字符串就是需要的字符串了.如ABC0299,分割后的字符串是ABC0和299,299加1后变为300,然后连接前面的字符串就是ABC0300了.
private void Button1_Click(object sender, System.EventArgs e)
{
string str;
int index = 0;
int newInt;
str = this.TextBox1.Text.Trim().Replace(" ", ""); //0030 9999 0031 0000
// str = this.TextBox1.Text.Trim(); 0030 0199 0030 0200
for(int i=str.Length-1;i>0;i--)
{
if(str[i]!='9')
{
index = i;
break;
}
}
newInt = Convert.ToInt32(str.Substring(index)) +1;
str = str.Substring(0,index) + newInt.ToString();
this.Response.Write(str);
}