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()