让字母自增,就像A-Z,Z后面就是AA-AZ,然后BA-BZ...
2017-07-14 09:54
197 查看
string GetNextChars(string letter)
{
string letterTemp = letter.Trim();
int length = letterTemp.Length;
int res = 0;
for (int i = 0; i < length; i++)//先转成数字 A=1 Z=26 AZ=52
{
res = res * 26 + letterTemp[i] - 'A' + 1;
}
res++;
string endCol = string.Empty;
string endColSignal = string.Empty;
int iCnt = (res / 26);
if (res >= 26 && res % 26 == 0)
{
int icell = iCnt - 2;
endCol = (icell < 0 ? string.Empty : ((char)('A' + icell)).ToString()) + "Z";
}
else
{
endColSignal = (iCnt == 0 ? "" : ((char)('A' + (iCnt - 1))).ToString());
int icell = res - iCnt * 26 - 1;
if (icell < 0)
icell = 0;
endCol = endColSignal + ((char)('A' + icell)).ToString();
}
return endCol;
}
{
string letterTemp = letter.Trim();
int length = letterTemp.Length;
int res = 0;
for (int i = 0; i < length; i++)//先转成数字 A=1 Z=26 AZ=52
{
res = res * 26 + letterTemp[i] - 'A' + 1;
}
res++;
string endCol = string.Empty;
string endColSignal = string.Empty;
int iCnt = (res / 26);
if (res >= 26 && res % 26 == 0)
{
int icell = iCnt - 2;
endCol = (icell < 0 ? string.Empty : ((char)('A' + icell)).ToString()) + "Z";
}
else
{
endColSignal = (iCnt == 0 ? "" : ((char)('A' + (iCnt - 1))).ToString());
int icell = res - iCnt * 26 - 1;
if (icell < 0)
icell = 0;
endCol = endColSignal + ((char)('A' + icell)).ToString();
}
return endCol;
}
相关文章推荐
- 将字符串中的每个字母替换为字母后面的字母(即c变成d,z变成a)。 然后在这个新字符串(a,e,i,o,u)中大写每个元音,最后返回这个修改过的字符串。
- 一个字符串参数(s)由字母(a-z,A-Z)组成, 且最大字符位数为40,要求写一个函数, 返回该参数中连续相同字母的最大个数及该字母,如果最大位数有多个,则返回第一个。例:字符串“aaaddxxxxddddxxxx”,返回值为:“x,4”。
- 困难就像一堵高墙, 在你跨过之前它是障碍, 但是跨过之后它就是帮你把竞争者挡在后面的壁垒了。
- 【小米校招笔试】在Excel中,列的名称是这样一个递增序列:seq={A、B、C、... Z、AA、AB、AC、... AZ、BA、BB、BC、... BZ、CA、... ZZ、AAA、AAB...
- 有字母a,b,c,输入值n为2.输出所有由3个字母组成的字符串.aa,ab,ac,ba,bb,bc,ca,cb,cc,如果n是3按这样规律输出
- 将A, B, C , D ... Z, AA, AB...AZ, BA转换为对应的数字
- PHP中获取我的城市列表,通过排序,通过A-Z的循环!数列出相同的首字母结果!,放到一个以A-Z为key的数组里面去,再返回我要的结果!
- 一、java包的用法---基础,二、包的用法---进阶,三、JAR命令用法,包是一组类的集合,包其实就是多个文件夹构成的多级目录,包名全部用小写字母表示,在程序中要声明类所属的包时,用package
- Android获取手机联系人匹配用户表并按字母A-Z排序展示
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- 写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z
- 程序设计就像盖房子,数据结构就像砖瓦,而算法就是设计图纸
- 你就是一个一腔热血,然后不到三分钟就会觉得后悔的人
- 字母A-Z的快速定位滑块的学习研究
- 不想当职场小白?奇异大师给新人们列出了清单 2017-12-25 小奇爱音乐 奇亿音乐 雪花牌电视 正在为您播放 《音乐制作清单》 游戏音效就是“游戏灵魂注入师”,游戏就像人一样需要灵魂。
- 如何实现文本框中只能输入数字和字母(也就是只能输入IP格式的字符)
- 华为2写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- 系统无法让你登陆,请你确定你的用户名及域无误,然后再次输入密码.密码字母必须使用正确的大小写.
- c语言: 键盘输入一个n个字符的串,然后按字母表顺序输出这n个字符
- 写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。要求用线程间的通信