gpt4 book ai didi

javascript - 大数字上的 JSON.Stringify() 会改变数值吗?

转载 作者:数据小太阳 更新时间:2023-10-29 05:27:12 26 4
gpt4 key购买 nike

我有一个返回带有 long 对象的 WCF 服务操作和 List<string>特性。当我在 WCF 应用程序中测试操作时,一切正常并且值正确。但是,我需要能够使用 jQuery 和 JSON 格式调用该服务。 long 的值当我在 OnSucceed 中读回它时,属性显然发生了变化功能。

搜索后我发现 JSON.stringify改变大的值(value)。所以在这样的代码中:

alert(JSON.stringify(25001509088465005));

...它将显示为 25001509088465004 的值.

发生了什么事?

此处演示:http://jsfiddle.net/naveen/tPKw7/

最佳答案

JavaScript 使用 IEEE-754 表示数字 double (64 位)格式。据我了解,这为您提供了 53 位精度,或十五到十六位十进制数字。您的数字的位数超出了 JavaScript 的处理能力,因此您最终得到一个近似值。

你需要对这个大数字进行数学运算吗?因为如果它只是某种 ID,您可以将其作为字符串返回并避免该问题。

关于javascript - 大数字上的 JSON.Stringify() 会改变数值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8641668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com