数字转换字母C#与VB.net方法

数字转化字母,核心用到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#方法,因为简洁。不过难理解,大家可以根据自己情况选择吧

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页