在 Node JS 中从 DEC 转换为 HEX 时保持零字符

Keep zero character when convert from DEC to HEX in Node JS

我目前正在使用 Node JS 和串口库读取电能表的 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