转换方式类似Excel列序号这种表示方式。A=1,AA=27,BA = 26^2+1。
26进制采用A-Z表示。
求帮我写两个相互转换的函数,我写了半天都有各种问题,10进制转26进制,直接绕死了。
我已经找到一种方法了
/// <summary>10进制转26进制(字母)</summary>
/// <param name="parameter"></param>
/// <returns></returns>
public static string NumberToLetter(int parameter)
{
int parameter1 = parameter - 1;
string[] radix = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string result = "";
int len = 0;
int remainder = 0;
len = parameter1 / 26;
remainder = parameter1 % 26;
result = radix[remainder];
while (len > 0)
{
remainder = (len - 1) % 26;
len = len / 26;
result = radix[remainder] + result;
}
return result;
}
繁星淼淼
相关分类