我正在尝试编写一个函数,该函数采用修订号(int)并将其转换为修订名(字符串)。该公式应产生与此类似的输出:
号码名称
1 安
2 乙
3 C
……
25年
26 Z
27 AA
28 AB
29 交流电
……
第51话
52 AZ
53 BA
54 BB
公元前55年
……
这看起来很简单,但我认为它可能涉及递归,我对此很糟糕。有什么建议么?
最佳答案
我认为这与从列号计算 Excel 列名相同:
private string GetExcelColumnName(int columnNumber)
{
int dividend = columnNumber;
string columnName = String.Empty;
int modulo;
while (dividend > 0)
{
modulo = (dividend - 1) % 26;
columnName = Convert.ToChar(65 + modulo).ToString() + columnName;
dividend = (int)((dividend - modulo) / 26);
}
return columnName;
}
关于C#代码问题: Revision Numbers and Letters,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1903587/