//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "untNumberToEnglishChar.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
AnsiString __fastcall NumberToEnglishChar(int Num)
{
AnsiString str = "";
AnsiString strReturn = "";
if (Num == 0) return "";
float f = (Num%26 == 0 ) ? 26 : Num%26;
switch((int)f)
{
case 1:
str = "A";
break;
case 2:
str = "B";
break;
case 3:
str = "C";
break;
case 4:
str = "D";
break;
case 5:
str = "E";
break;
case 6:
str = "F";
break;
case 7:
str = "G";
break;
case 8:
str = "H";
break;
case 9:
str = "I";
break;
case 10:
str = "J";
break;
case 11:
str = "K";
break;
case 12:
str = "L";
break;
case 13:
str = "M";
break;
case 14:
str = "N";
break;
case 15:
str = "O";
break;
case 16:
str = "P";
break;
case 17:
str = "Q";
break;
case 18:
str = "R";
break;
case 19:
str = "S";
break;
case 20:
str = "T";
break;
case 21:
str = "U";
break;
case 22:
str = "V";
break;
case 23:
str = "W";
break;
case 24:
str = "X";
break;
case 25:
str = "Y";
break;
case 26:
str = "Z";
break;
}
if (Num >= 26)
{
str = NumberToEnglishChar(((int)Num/26) - ((f==26) ? 1 : 0)) + str;
}
strReturn = str;
return strReturn;
}
int __fastcall EnglishCharToNumber(AnsiString strEnglishChar)
{
AnsiString EnglishChar = strEnglishChar.UpperCase();
int L = EnglishChar.Length();
if (L == 0) return 0;
int Num = 0;
int iReturn = 0;
char *c = new char[L];
strcpy(c,EnglishChar.c_str());
for(int i = 0; i < L; i++)
{
switch(c[i])
{
case 'A':
Num = 1;
break;
case 'B':
Num = 2;
break;
case 'C':
Num = 3;
break;
case 'D':
Num = 4;
break;
case 'E':
Num = 5;
break;
case 'F':
Num = 6;
break;
case 'G':
Num = 7;
break;
case 'H':
Num = 8;
break;
case 'I':
Num = 9;
break;
case 'J':
Num = 10;
break;
case 'K':
Num = 11;
break;
case 'L':
Num = 12;
break;
case 'M':
Num = 13;
break;
case 'N':
Num = 14;
break;
case 'O':
Num = 15;
break;
case 'P':
Num = 16;
break;
case 'Q':
Num = 17;
break;
case 'R':
Num = 18;
break;
case 'S':
Num = 19;
break;
case 'T':
Num = 20;
break;
case 'U':
Num = 21;
break;
case 'V':
Num = 22;
break;
case 'W':
Num = 23;
break;
case 'X':
Num = 24;
break;
case 'Y':
Num = 25;
break;
case 'Z':
Num = 26;
break;
}
iReturn += (Power(26,(L-1-i)))*Num;
}
return iReturn;
}
没有合适的资源?快使用搜索试试~ 我知道了~
C++ VC++ 字母转数字_数字转字母
共2个文件
cpp:1个
cs:1个
4星 · 超过85%的资源 需积分: 35 43 下载量 185 浏览量
2012-10-12
23:32:37
上传
评论 2
收藏 2KB RAR 举报
温馨提示
C++ VC++ 字母转数字_数字转字母
资源推荐
资源详情
资源评论
收起资源包目录
NumberToEnglishChar.rar(字母转数字_数字转字母).rar (2个子文件)
untNumberToEnglishChar.cpp 5KB
NumberToEnglishChar.cs 3KB
共 2 条
- 1
资源评论
- 天天快乐不行吗2013-07-17可惜不是我想要的。
- 暂时不用了2015-10-12挺好的,可以用,但是超过23的数字转换就不好用了
- qq_309633032015-10-31一般也不算太好
- 一点晴2014-04-27正在学习C++中,不错,谢谢
- 九天揽2018-12-09下载下来看看 谢谢分享
zhoujxnyx
- 粉丝: 1
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功