例如,如果我有以下 JavaScript 代码:
let num = 00111;
console.log(num.toString());
这会给我“73”
但我想要“00111”
最佳答案
为什么这个数字不符合您的预期,问题是因为整数文字中的前导 0 告诉 Javascript 该数字是八进制文字,即基数为 8 的整数。
要获得所需的内容,您可以从文字中删除前导零,然后稍后将它们添加回来:
let num = 111;
console.log('00' + num.toString());
或者您可以将值存储为字符串,然后解析它:
let value = '00111':
let num = parseInt(value); // assumes radix 10.
console.log('00' + num.toString());
如果目标只是计算 1 表示的位数(这将解释示例中的“3”),您可以编写一个辅助函数来计算字符串中 1 的数量,然后使用它来提取值,正如已经完成的那样 here .
如果目标是文字二进制数(7,而不是 3),那么您可以使用二进制文字:
let num = 0b00111;
console.log(num); // 7
console.log(num.toString(2)); // 111
关于javascript - 如何将开头为零的整数(如 00111 )转换为等效的字符串 '00111' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007203/