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

例如4位字符串,0001开始到9999满了,然后变成a001。... 例如4位字符串,0001开始到9999满了,然后变成a001。 展开
 我来答
goubiiiii
2013-11-21
知道答主
回答量:17
采纳率:0%
帮助的人:16.7万
展开全部
首先按照您的需求,个人觉得从逻辑上讲,您这里到9999了,自增1以后应该是变为a000,然后自增1才到a001。
然后您这个需求有些不明确:
1、是不是只有最左边的一位能变字母,其他后面三位最大只能到9?
2、最左边的一位最大能到多少?F还是Z?有无大小写区分(例z999 -> A000)?
3、假如最左边一位最大值是F,假如到F999,您希望接下来是什么样的?是Fa00还是停止计数?
这个逻辑上的算法不难,只要明确您的需求,我可以给您提供源码
更多追问追答
追问
简单的我写好了 。 如果是这种: 9999 --> a000 --->  z999 --> A000 --> Z999 -->  aa00 --> az99 --> aA00 --> aZ99 --> ba00 --> .... --> Za00 --> Za99 --> .... ZZ99 ... --> ZZZZ    , 你有什么简便的写法吗?
追答

可以实现,其实算法很简单,您这里是需要我提供算法的思路,还是需要代码?给我您的邮箱或qq,代码已经写好了,附上截图(4位字符串,每位0-Z,所以总共能计数62*62*62*62=14776336)

凯凯尼亚
2013-11-21 · 超过10用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:25.2万
展开全部
既然是字符串,那就加判断,如果是9999,将其改为a001;
或者判断其长度,如果str.length()>5则将其改为a001;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-21
展开全部
纯手打。。。

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;

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朢晓貮
2013-11-21 · 介绍AI应用、设备以及未来AI发展
朢晓貮
采纳数:18 获赞数:134

向TA提问 私信TA
展开全部
我想问下19999如何表示?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式