在Ajax中处理非常大的长数的最佳方法是什么?

Dea*_*ses 5 javascript ajax largenumber

Javascript将所有数字表示为双精度浮点数.这意味着它在处理64位Java Long数据类型的最高端的数字时会丢失精度 - 17位数后的任何数据.例如,数字:

714341252076979033
Run Code Online (Sandbox Code Playgroud)

......变成:

714341252076979100
Run Code Online (Sandbox Code Playgroud)

我的数据库使用长ID,有些恰好位于危险区域.我可以更改数据库中的违规值,但在我的应用程序中这很难.相反,现在我非常费力地确保服务器在所有ajax响应中将Long ID编码为字符串.

但是,我更喜欢在Javascript中处理这个问题.我的问题:是否有强制JSON解析将数字视为字符串的最佳实践?

Aln*_*tak 9

您必须将您的值作为字符串发送(即用引号括起来),以确保Javascript将它们视为字符串而不是数字.

我无法解决这个问题.