这里是新手!想知道为什么下面的转换失败!
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
对象不会覆盖 Object
的 toString
方法,因此传入的任何参数都将被忽略。
有关这些对象的更多详细信息,请参阅 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/