C#如何实现数字自增,满位转成字母(9999-->a001)?

例如4位字符串,0001开始到9999满了,然后变成a001。
2024-12-03 06:05:37
推荐回答(4个)
回答1:

首先按照您的需求,个人觉得从逻辑上讲,您这里到9999了,自增1以后应该是变为a000,然后自增1才到a001。
然后您这个需求有些不明确:
1、是不是只有最左边的一位能变字母,其他后面三位最大只能到9?
2、最左边的一位最大能到多少?F还是Z?有无大小写区分(例z999 -> A000)?
3、假如最左边一位最大值是F,假如到F999,您希望接下来是什么样的?是Fa00还是停止计数?
这个逻辑上的算法不难,只要明确您的需求,我可以给您提供源码

回答2:

既然是字符串,那就加判断,如果是9999,将其改为a001;
或者判断其长度,如果str.length()>5则将其改为a001;

回答3:

纯手打。。。

string myNumber;
while(我想要的条件)
{
string str=" ";

int i=1;

//对i自增操作

if(i<=9999)

{
i++;

}

lese

{
//str为空格

if(Convert.ToInt32(Encoding.ASCII.GetBytes(str)[0])==32)

{
str="a";

i=1;

}

//str不是空格

else

{
//str的下一位字母

str=Convert.ToChar(Convert.ToInt32(Encoding.ASCII.GetBytes(str)[0])+1).ToString();
i=1;

}

}
if(符合我的条件)

{
string number="";

switch(i.ToString().Length)

{
case 1:

number="000"+i.ToString();

break;

case2:

number="00"+i.ToString();

break;
case3:

number="0"+i.ToString();

break;
case4:

number=i.ToString();

break;
}

//myNumber就是最终的数据

myNumber=str+number;

break;

}

}

回答4:

我想问下19999如何表示?