javascript - 如何将开头为零的整数(如 00111 )转换为等效的字符串 '00111' ?

标签 javascript

例如,如果我有以下 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/

相关文章:

用于简单碰撞检测的 Javascript 位图

javascript - by.buttonText ('' ) 不返回空文本按钮作为 Protractor 定位器

javascript - 动态添加 onclick 事件到 anchor 标记,不起作用

javascript - 填写网站数据并单击按钮并解析响应

javascript - Vuejs 在 v-model 中绑定(bind)数组

javascript - 如何从 selectOneMenu 项填充 inputText?

javascript - 混淆的 javascript 会减慢浏览器的速度吗?

javascript - 使用 Mootools 获取元素内的特定元素

Javascript if 语句——不需要 {} 吗?

javascript - 选择选项仅返回一个选项