数字转化字母,核心用到Char字符串转化
比如:char(65)得到A;char(90)得到Z
C#方法,用到递归语法,使代码更加简短,用的时候记得减1,比如 NumToChar(1-1)得A,NumToChar(26-1)得Z;
/// <summary>
/// 数组转化为字母
/// </summary>
/// <param name="ColNum">列数(用时记得减1)</param>
/// <returns>字母</returns>
public string NumToChar(int ColNum)
{
//0--A;26--AA
int a = ColNum / 26;
int b = ColNum % 26;
if (a > 0) return NumToChar(a-1) + (char)(b + 65);
return ((char)(b + 65)).ToString();
}
下面是VB.net 方法,比较好理解,用到数组,可以直接用 NumToChar(1)得A,NumberToChar(26)得Z
Public Function NumToChar(ByVal y As Integer) As String
Dim z As Integer, i As Integer
Dim n(25) As String, col As String
For i = 0 To 25
n(i) = Chr(65 + i)
Next
If y <= 26 Then
col = n(y - 1)
Else
z = y \ 26
If y Mod 26 = 0 Then
col = n(z - 2)
Else
col = n(z - 1)
End If
z = y Mod 26
If z > 0 Then
col &= n(z - 1)
Else
col &= "Z"
End If
End If
Return col
End Function
当然这边是推荐使用C#方法,因为简洁。不过难理解,大家可以根据自己情况选择吧
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107127.html