可能重复:
在 Javascript 中错误地舍入大数字
我正在使用 jQuery.parseJSON() 来获取一个 json 字符串并使其成为一个对象。json 字符串由我们的服务器放置在带有初始标记的脚本标记中。json 字符串包含引用我们网站上不同资源的值。
这个在开发中被忽视的问题在实现中存在,现在开始抬头。我们的服务器是基于java的。数值大部分表示为 Long。所以 json 字符串会有类似“...'id': 25783071737028608...”的内容。这是一个问题,因为这个值超过了 JS Number 类型的最大值 10 的两个整数幂。在这种情况下,数字会向上取整:25783071737028610,这会导致各种数据不一致问题。
这种类型的模式在我们的网站上无处不在,这些值代表我们数据库中的值。我想避免对数据库进行大规模重构。我还想避免仅将内容作为字符串传递给浏览器(“...'id':”25783071737028608“...”,因为查找 long 传递给 javascript 的每个实例都需要对我们的数据库进行大规模重构。
无论如何在 JavaScript 中表示 Java 长类型?如果没有(我相信是这种情况),是否有任何创造性的解决方法可以用来解决类似问题?