JS赋值后,取值不对的问题

小呀小肥羊 2015-07-21 10:31:53
问题很简单,JS代码:
var a = 10150721091907299;
alert(a);

出现的值和赋的值不一样

出现问题的数字:
10150717164010261
10150717160435893
10150717155134408
10150721091907299
10150720172240425
10150720152053805

大家请帮忙看下,为啥数字不对?是精度问题吗?还是数字超过了上限?该如何解决呢?现在前台显示的数字不对。。
...全文
283 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小呀小肥羊 2015-07-21
  • 打赏
  • 举报
回复
@2楼 我的意思是不加引号,用数字的形式,而不是字符串形式。JS貌似数字最多为 15 位。。是我超过了长度?
香蕉猪 2015-07-21
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
</head>
 <body>
 
</body>
<script>
function init(){
	var a = "10150721091907299";
	alert(a);
}
init();
</script>
</html>
小呀小肥羊 2015-07-21
  • 打赏
  • 举报
回复
好吧。。。木办法了,去改数据库结构了,多谢楼上。。。
天际的海浪 2015-07-21
  • 打赏
  • 举报
回复
是精度问题,js中没有长整型类型,数值的有效存储位数有限,超过有效存储位数会改为指数形式存储。会忽略低位的数值。这个没办法解决。

87,918

社区成员

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

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