Javascript parseInt似乎是错的

Javascript parseInt似乎是错的,javascript,binary,decimal,base,parseint,Javascript,Binary,Decimal,Base,Parseint,我想将一个数字从十进制转换为二进制,我立即想起parseInt也有一个基参数,为了确保这一点,我运行了以下代码: parseInt('123',2); 结果是。。。1号 之后,我检查了开发者mozzila,第二个参数是base,然后我尝试了base 3,结果是5!!!!!这在基地3是不可能的 我做错了什么?基数参数表示输入数字的基数,而不是输出数字的基数 parseInt('1111', 2); // returns 15 发件人: 基数 一个介于2和36之间的整数,表示基数(中的基数) 字

我想将一个数字从十进制转换为二进制,我立即想起parseInt也有一个基参数,为了确保这一点,我运行了以下代码:

parseInt('123',2);
结果是。。。1号

之后,我检查了开发者mozzila,第二个参数是base,然后我尝试了base 3,结果是5!!!!!这在基地3是不可能的


我做错了什么?

基数参数表示输入数字的基数,而不是输出数字的基数

parseInt('1111', 2); // returns 15
发件人: 基数

一个介于2和36之间的整数,表示基数(中的基数) 字符串的数学(数字系统)


输出总是一个整数。如果你真的想使用这个方法,你只能把二进制转换成整数

因此,如果您尝试: parseInt(“10101”,2)结果是21。这是正确的。但是在您的例子中,您为该方法提供了绝对无效的参数,因为您只能对二进制输入使用0和1。转换从左到右。第一个无效值将强制返回结果,而无需进一步计算

您的第一个案例: parseInt('123',2) 数字2是无效的二进制值。这将使在1作为输入之后完成,这是一个1作为整数。这是正确的

您的第二次尝试: parseInt('123',3)


最后一个数字3对于以0,1,2为有效数字的基数为3无效。如果你将数字12以3为底进行转换,结果是5。在我看来,该方法工作正常。

parseInt('123',10)
parseInt
解析字符串直到第一个无效字符。“2”是一个无效的字符base 2。数字2和3对于base-2数字来说没有意义,因此,
'123'
不是数字;这是一根绳子。如果您想要二进制等价物,请将
'123'
转换为普通JavaScript数字,然后使用
.toString(2)
获得二进制等价物(作为另一个字符串)。这两个答案都是正确且有用的。。。我该怎么办???我不能将它们都标记为正确的
parseInt('1111011',2)
这是JavaScript,它不是
Integer.parseInt()
它只是
parseInt()
打字错误。但不管用哪种语言:)这种方法很有魅力
parseInt(string, radix)