js parseInt(9999999999999999)的值为何会变成10000000000000000???

nodouble 2007-05-18 03:46:35
是为什么会自动加一呢???
...全文
1157 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
btbtd 2007-05-18
  • 打赏
  • 举报
回复
知道什么叫溢出吗?...
mingxuan3000 2007-05-18
  • 打赏
  • 举报
回复
http://bbs.51js.com/thread-52277-1-1.html

chouchy 2007-05-18
  • 打赏
  • 举报
回复
事实上,这跟js表示数字的精度没有关系,因为999...99是整数,而js能够表达数字的范围是:

Number.MIN_VALUE~Number.MAX_VALUE,也就是5e-324~1.7976931348623157e+308

没有看到parseInt函数的实现,估计是数据的表示方式造成的,因为在js中,所有的数值均表示为浮点值。

yixianggao 2007-05-18
  • 打赏
  • 举报
回复
俺不说了 JS 数值计算不是强项,精度太低,

数小时同样会出错!

详细的说法要查查书了,俺都忘光了,哈
nodouble 2007-05-18
  • 打赏
  • 举报
回复
我不明白,为何超大了还加一,那岂不是更大?那请问有什么解决方法吗?
yixianggao 2007-05-18
  • 打赏
  • 举报
回复
JS 数值计算一直不是强项,精度太低!

原来看过,都是讲内存地址高低位什么乱七八糟的!

下面这种情况也加一,哈

<script type="text/javascript">
<!--
alert(parseInt("999999999999999991")); // 9999999999999992
//-->
</script>
梅雪香 2007-05-18
  • 打赏
  • 举报
回复
超大了
js处理精精度不行的

87,995

社区成员

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

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