JavaScript 16进制与字符串之间的转化

JavaScript 16进制与字符串之间的转化

今天在项目中遇到一个需求,比如:现在前端界面有两个字段,当输入第一个字段(16进制)后,第二个字段为第一个字段值+8。

例如:a = 7d2
那么:b = 7da

本来是一个很简单的需求,但是网上却写的很。。难以使用。

后来终于找到一种比较简单的方法。

项目使用的是Vue框架,不过,这也没什么关系,毕竟就是一个监听事件的问题。在input框添加一个onchange监听事件就OK了。

Vue中使用@change即可。

触发方法:

AChange(){
        this.form.A= this.form.A.toUpperCase();
        if (this.form.A!= ''){
          this.form.B= (parseInt(A,16) +8).toString(16).toUpperCase();
        } else {
          this.form.B= "";
        }
}

由于16进制一般使用大写(产品要求),所以还进行了大小写的装换。

转换代码就一句

B= (parseInt(A,16) +8).toString(16).toUpperCase()

将A先转换为10进制数字,然后加8,在转化为16进制字符串,再转换为大写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值