1. 程式人生 > >JavaScript 16進位制與字串之間的轉化

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進位制字串,再轉換為大寫