我目前正在阅读Node JS和serialport库的能量计ID号。功率计ID具有以下格式xx xx xx xx xx xx。当我发送命令并接收数据时,我得到以下DEC号码:0 0 24 1 104 115
。按照制造商的说明,我必须将此序列转换为HEX。我已将其添加到数组中并导出到控制台,如下所示:
console.log(
(arrID[0]).toString(16)+
(arrID[1]).toString(16) +
(arrID[2]).toString(16) +
(arrID[3]).toString(16) +
(arrID[4]).toString(16) +
(arrID[5].toString(16)
);
它返回给我如下001816873
。这是错误的ID,要显示的正确ID必须是000018016873
。我知道原因是第一个字符的数字转换为0.我期待您的建议。
我使用普通的js,希望这对你有帮助。
var arrID =[0, 0, 24, 1, 104, 115];
var arrID2 = ['','','','','',''];
for(var i=0;i<6;i++)
{
arrID2[i]=(arrID[i]).toString(16);
if(arrID2[i].length==1)arrID2[i]='0'+arrID2[i];
}
console.log(
(arrID2[0])+
(arrID2[1])+
(arrID2[2])+
(arrID2[3])+
(arrID2[4])+
(arrID2[5])
)
输出是
000018016873