这样算不算:
private string ConvertToString(int num)
{
if (num > -1 && num<26)
{
return ((char)(97 + num)).ToString();
}
else if (num == 26)
{
return "AA";
}
return null;
}
private string ConvertToString(int num)
{
if (num > -1 && num<26)
{
return ((char)(97 + num)).ToString();
}
else if (num == 26)
{
return "AA";
}
return null;
}
那26就是AA 27就是AB 那不就是26字母进制吗..
public class Algorithm
{
public static string Get26Result(int num)
{
StringBuilder strBuilder = new StringBuilder();
if (num > 25)
{
while (num != 0)
{
int temp = num % 25;
num = num / 25;
strBuilder.Append(((Char)(temp + 64)).ToString());
}
return Reverse(strBuilder.ToString());
}
else
{
return ((char)(65 + num)).ToString();
}
}
public static string Reverse(string str)
{
StringBuilder strBuilder = new StringBuilder();
for (int i = str.Length - 1; i >= 0; i--)
{
strBuilder.Append(str[i].ToString());
}
return strBuilder.ToString();
}
}
string s = string.Empty;
while (i >= 26)
{
int m = i % 26;
i = i / 26;
s = (char)(m + 'A') + s;
}
s = (char)(i + 'A') + s;
Text = s;