【发布时间】:2011-11-02 23:58:49
【问题描述】:
我建立了一个系统,将一个紧凑的数据字符串解析为 JSON。我使用 19 位数字来存储 ID。不幸的是,任何大于 17 位的数字,parseFloat() 都会将最后几位数字舍入。
这会破坏整个数据字符串。我可以解决这个问题吗?
例如,8246295522085275215 变成了8246295522085276000。这是为什么呢?
【问题讨论】:
-
你没有那么多对象,对吧?然后使用以
1开头的常规递增ID。如果您想阻止人们通过更改 ID 来检索其他对象,请添加一个包含一些随机值的附加参数 - 然后您仍然可以使用正确的 ID(也在您的数据库中作为主键)并且当用户尝试修改 URL 他运气不好,因为他不知道其他项目的随机字符串。 -
如果这是一个 id,为什么还要把它当作一个数字呢?只需将其保留为字符串
标签: javascript math parsefloat