为啥 parseInt 为 31 位二进制返回 1 [关闭]
Posted
技术标签:
【中文标题】为啥 parseInt 为 31 位二进制返回 1 [关闭]【英文标题】:Why parseInt return 1 for 31 bit binary [closed]为什么 parseInt 为 31 位二进制返回 1 [关闭] 【发布时间】:2021-11-30 11:32:42 【问题描述】:如果我这样做的话,在 C# 中
var value = Convert.ToInt32("1000000000000000000000000000000", 2);
它将返回 1073741824
但当我在 javascript 中执行相同操作时,
parseInt(1000000000000000000000000000000,2)
它返回1
,但不返回1073741824
【问题讨论】:
在 JavaScript 中你没有传递字符串... 把它放在一个字符串中 【参考方案1】:您需要将string
作为第一个参数传递
console.log(parseInt("1000000000000000000000000000000",2))
【讨论】:
【参考方案2】:这是因为在 JavaScript 中你缺少引号 :)
parseInt("1000000000000000000000000000000",2)
工作正常。
【讨论】:
以上是关于为啥 parseInt 为 31 位二进制返回 1 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章