javascript 运算问题

linxisheng 2011-02-05 01:29:34
大家在浏览器地址栏里试试下面的代码就知道了
javascript:alert(parseInt(11010101011100001))
返回结果是11010101011100000
有没什么办法可以解决的
...全文
87 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxisheng 2011-02-07
  • 打赏
  • 举报
回复
1101010101100001 是二进制没错,但由于需要把这个当10进制来算,所以就超过了最大值
其实我只想要两个大数字字符串相加的方法就行了
不知道Javascript里有什么办法没有,实在不行看来只能自己写个函数来处理了
[Quote=引用 10 楼 uself 的回复:]
你用这个计算就是正确的了。javascript:alert(parseInt("1101010101100001",2))
得到"54625" 即2进制的1101010101100001
[/Quote]
幽饮烛 2011-02-07
  • 打赏
  • 举报
回复
没有,javascript 没必要提供这样的功能,它只是一个简单的面向对象的脚本语言。
tomzjt 2011-02-07
  • 打赏
  • 举报
回复
js中字符转换数值的只有parseInt和number,还有一个parseFloat


怎么记得好像还有的把
linxisheng 2011-02-07
  • 打赏
  • 举报
回复
哦,好吧,知道了,谢谢
linxisheng 2011-02-06
  • 打赏
  • 举报
回复
楼上说的都不是重点 ,为什么不亲自试试?
这长度肯定没超过最大值,parseFloat转换结果也是一样的
杨哥儿 2011-02-06
  • 打赏
  • 举报
回复
整型的最大值为2的31次方。
杨哥儿 2011-02-06
  • 打赏
  • 举报
回复
js中字符转换数值的只有parseInt和number,还有一个parseFloat
weakey 2011-02-06
  • 打赏
  • 举报
回复
你想怎么解决,换个数据类型不就行了。
潮起潮落 2011-02-06
  • 打赏
  • 举报
回复
ECMAScript原始类型
http://www.w3school.com.cn/js/pro_js_primitivetypes.asp



alert(Number.MAX_VALUE);
alert(Number.MIN_VALUE);
杨哥儿 2011-02-06
  • 打赏
  • 举报
回复
你用这个计算就是正确的了。javascript:alert(parseInt("1101010101100001",2))
得到"54625" 即2进制的1101010101100001
杨哥儿 2011-02-06
  • 打赏
  • 举报
回复
整型常量最大值为2147483647,十进制只有10位,而你的字符串是16位。
注意默认是十进制。不是二进制!
挨踢直男 2011-02-06
  • 打赏
  • 举报
回复
parseInt 的参数应该是个字符串
javascript:alert(parseInt("1101010101100001"))
这样

你那个数字以经是数值型了 转换又有什么意义
linxisheng 2011-02-05
  • 打赏
  • 举报
回复
最大值是多少?还真没研究过,貌似再大点,还是可以的,就是有点误差
[Quote=引用 1 楼 uself 的回复:]
超过整型的最大值!
[/Quote]
杨哥儿 2011-02-05
  • 打赏
  • 举报
回复
超过整型的最大值!

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧