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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值