我试了很多方法,但都没有达到预期的效果.
输入:04:3d:54:a2:68:61:80
预期产出:01193333618139520
在JS里我该怎么做呢?
const value = `04:3d:54:a2:68:61:80`
const barcode = parseInt(value.replace(':', ''), 16)
console.log(barcode) // 1085
我试了很多方法,但都没有达到预期的效果.
输入:04:3d:54:a2:68:61:80
预期产出:01193333618139520
在JS里我该怎么做呢?
const value = `04:3d:54:a2:68:61:80`
const barcode = parseInt(value.replace(':', ''), 16)
console.log(barcode) // 1085
3条答案
按热度按时间nsc4cvqm1#
问题是您使用的是
replace
而不是replaceAll
正如Lian所建议的,您也可以使用
replace(/:/g, '')
来实现这一点从而获得更好的浏览器兼容性
avwztpqn2#
首先删除冒号,然后使用parseInt(myHex,16)。
xwmevbvl3#
使用
parseInt
函数,将输入作为第一个参数传递,将16
(因为十六进制是以16为基数的)作为第二个参数传递。如果出于某种原因需要前导零,可以执行以下操作: