在 JavaScript 中向二进制字符串添加前导零的方法[重复]

问题描述 投票:0回答:3

我使用 .toString(2) 将整数转换为二进制,但它仅在需要时返回二进制(即第一位是 1)。

那么哪里:

num = 2;
num.toString(2) // yields 10. 

如何生成八位字节 00000010?

javascript binary
3个回答
41
投票

就这么简单

var n = num.toString(2);
n = "00000000".substr(n.length) + n;

2024 年 9 月更新

更惯用的是,现在可以写成:

 n.padStart(8, '0')

感谢@DevMultiTech


6
投票

您可以使用 while 循环在结果前面添加零,直到达到正确的长度。

var num = 2,
    binaryStr = num.toString(2);

while(binaryStr.length < 8) {
    binaryStr = "0" + binaryStr;
}

3
投票

尝试这样的事情...

function pad(n, width, z) {
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

...然后将其用作...

pad(num.toString(2), 8);
© www.soinside.com 2019 - 2024. All rights reserved.