我的数据得到了json回复,但当我尝试使用其中一个值(数字)时,响应转换为科学记数法。我从来没有遇到过这样的事情所以我只是要发布正在发生的事情。
当我使用console.log(response)
时,该值看起来像doctorid":2015031216033174968087
,当我尝试使用doctorid时,该值变为2.015031216033175e+21
。即使我使用console.log(response.doctorid)
在控制台中输出值,也会发生这种情况。知道可能导致这种行为的原因吗?
答案 0 :(得分:4)
与python和ruby不同,Javascript不支持任意精度整数。可以在JS中精确表示的最大数值是9007199254740991
。较大的数字具有近似表示,并使用科学记数法转换为字符串。
在您的情况下避免这种情况的唯一方法是将ID编码为JSON中的字符串:
"doctorid": "2015031216033174968087"