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

导读:本篇文章讲解 数字转换字母C#与VB.net方法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

数字转化字母,核心用到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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!