parseInt 不将十进制转换为二进制?

新手上路,请多包涵
阅读 298
2 个回答

parseInt(number, base) 返回由 number 参数在 base 基数中呈现的数字的 十进制 值。

11 在十进制数系统中相当于 3 的二进制。

 var a = {};

window.addEventListener('input', function(e){
  a[e.target.name] = e.target.value;
  console.clear();
  console.log(  parseInt(a.number, a.base)  );
}, false);
 <input name='number' placeholder='number' value='1010'>
<input name='base' placeholder='base' size=3 value='2'>

原文由 Robo Robok 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 toString() 而不是 parseInt

 11..toString(2)

 var str = "11";
var bin = (+str).toString(2);
console.log(bin)

根据 JavaScript 的文档:

以下示例均返回 NaN:

parseInt("546", 2); // 数字对二进制表示无效

原文由 Walter Chapilliquen - wZVanG 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题