JSON.stringify({ id: 123456789012345678 })
当数字超过 18 位后,使用 JSON.stringify
或者 JSON.parse
后面的数字会变为 0。。。。有什么解决的方法吗?
JSON.stringify({ id: 123456789012345678 })
当数字超过 18 位后,使用 JSON.stringify
或者 JSON.parse
后面的数字会变为 0。。。。有什么解决的方法吗?
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
这和
JSON.stringify
或者JSON.pars
没关系,而是浮点数的处理都是这样的。你可以直接把这个数字复制给某个变量,然后再打印这个变量,结果也是一样的,末尾被消掉了。
后端传数字前端转字符串,个人觉得有风险,因为只要这个数字经过了JavaScript引擎的处理,这个末尾肯定会被削掉的。
我有2个主意:
JSON.parse
,这样这个字段出来就是字符串而不是数字了。