【问题标题】:Keep zero character when convert from DEC to HEX in Node JS在Node JS中从DEC转换为HEX时保持零字符
【发布时间】:2019-07-31 22:00:03
【问题描述】:

我目前正在使用 Node JS 和串行端口库读取电能表的 ID 号。功率计 ID 具有以下格式 xx xx xx xx xx xx。当我发送命令并接收数据时,我得到以下 DEC 数字:0 0 24 1 104 115。按照制造商的说明,我必须将此序列转换为十六进制。我已将其添加到数组中并导出到控制台,如下所示:

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的数字转换。期待您的建议。

【问题讨论】:

标签: javascript node.js hex decimal tostring


【解决方案1】:

我用的是普通的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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2020-11-10
    • 2018-08-23
    • 2020-09-12
    • 2020-02-10
    • 1970-01-01
    • 2021-01-31
    相关资源
    最近更新 更多