【发布时间】:2011-12-27 06:04:24
【问题描述】:
我有一个 WCF 服务操作,它返回一个具有 long 和 List<string> 属性的对象。当我在 WCF 应用程序中测试操作时,一切正常并且值正确。但是,我需要能够使用 jQuery 和 JSON 格式调用服务。当我在OnSucceed 函数中读取它时,long 属性的值显然会发生变化。
搜索后我发现JSON.stringify 改变了很大的值。所以在这样的代码中:
alert(JSON.stringify(25001509088465005));
...它会将值显示为25001509088465004。
发生了什么?
【问题讨论】:
-
请把你的问题说得更清楚。
-
只需测试上面的 javascript 代码,看看你发送了什么以及 JSON.stringify 返回了什么。
-
由于 javascripts Number 类型的精度限制。另见:stackoverflow.com/questions/588004/is-javascripts-math-broken
-
@Gaurav:问题很清楚。试试看吧。
-
@Amir Mohsen:这与 JSON 事实上无关。试试这个。
alert(25001509088465005);
标签: javascript jquery json