javascript - Javascript 中的字符串转换(十进制到二进制)

标签 javascript

这里是新手!想知道为什么下面的转换失败!

var num = prompt("Enter num");
alert(num.toString(2));

如果 num 输入是 32。我也会收到 32 作为 num 警报消息。

最佳答案

尝试

(+num).toString(2)

Number(num).toString(2)

parseInt(num, 10).toString(2)

其中任何一个都应该更适合您。

问题是 javascript Number 对象的 toString 方法覆盖了 Object 对象的 toString 方法接受可选基数作为参数以提供您正在寻找的功能。 String 对象不会覆盖 ObjecttoString 方法,因此传入的任何参数都将被忽略。

有关这些对象的更多详细信息,请参阅 Mozilla 的文档:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toString https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String#Methods

或 W3 学校:

http://www.w3schools.com/jsref/jsref_tostring_number.asp http://www.w3schools.com/jsref/jsref_obj_string.asp

关于javascript - Javascript 中的字符串转换(十进制到二进制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132905/

相关文章:

javascript - 查找具有较高项但低于限制的对象的 id

javascript - 在 Javascript 中如何自定义警报窗口?

javascript - 物体上的纹理不显示

javascript - setTimeout() 和 Canvas 未按预期工作

javascript - jQuery 在单击下一步时显示和隐藏表单

javascript - rxjs 可观察管道内的建模和 if/else 模式

javascript - Angular 4 |窗口.scrollTo();不能正常工作

javascript - 如果某个单元格不为空,如何更改 Slickgrid 中的行背景颜色?

javascript - 使用 Bootstrap 以 "row"内容为中心

javascript - 仅当用户单击提交 html 表单时,纯 javascript 中的进度图像加载器