英文字母(大写)转阿拉伯数字

        这时候我们就可以用到charCodeAt()方法,其作用就是传入一个字符返回对应的Unicode值。同样。A、B、C、D...是从65开始计算的,所以将获得的数值-64就好了。

        var alpha = ‘A’;alpha.charCodeAt() - 64 // 1

        而对于排序大于Z的序号要怎么拿到数值呢? 将序号切成一个一个的,一级一级计算对应的数值然后相加就好啦。

function changeAlphaToNum (alpha) {
    var num = 0;
    if (alpha.length == 1) { //如果字符长度只是1,就直接换算
        num = alpha.charCodeAt() - 64;
    } else {
        while (alpha.length > 1) { //如果字符长度大于1,从每一级截取一个,根据当前位置,做26的幂运算并乘以当前所代表数值
            var str = alpha[0];
            num += Math.pow(26,alpha.length - 1) * (str.charCodeAt() - 64);
            alpha = alpha.slice(1);
        }
        var str = alpha[0];
        num += str.charCodeAt() - 64;
    }
    return num;
}

        例:

        changeAlphaToNum(‘AD’) // 30

        changeAlphaToNum(‘AAA’) // 703

        如果想要计算小写字母所代表的的数字,先将字符串toUpperCase(),然后再获取数值就好啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值