问题描述:
有0~Z组成的字符串加一的问题,(例:ABCD+1=ABCE)
觉得比较有意思,所以写了个函数供参考。
说明:本函数对字符串中的字母不区分大小写,同一转成大写,并规定9+1=A;Z+1=0;
public string addone(string str1)
{
string B=str1.ToUpper(); //把字符串中的字母转换成大写
int len=B.Length;
int[] str=new int[len];
for(int i=0;i<len;i++)
{
str[i]=Convert.ToInt32(Convert.ToChar(B.Substring(i,1)));
}
//ASCII: '0'=48;'9'=57;'A'=65;'Z'=90
for(int i=len-1;i>=0;i--)
{
if(str[i]==90)
{
str[i]=48;
}
else
{
if(str[i]==57)
{
str[i]=65;
}
else
{
str[i]=str[i]+1;
}
break;
}
}
string newstr="";
for(int i=0;i<len;i++)
{
newstr=newstr+Convert.ToChar(str[i]).ToString();
}
return newstr;
}
调用:
string str="ABCD";
string newstr=this.addone(str);