因为用了SnowFlake的算法生成id,生成的id长度都是19的,然后发现了前端拿到的id和我们传的不一致,检查发现了js在解析id的时候因为过长发生了失精。目前的解决方式是把id转成了字符串,想问问有没有其他比较优雅的方法解决js由于数值长度过长导致的失精问题
因为用了SnowFlake的算法生成id,生成的id长度都是19的,然后发现了前端拿到的id和我们传的不一致,检查发现了js在解析id的时候因为过长发生了失精。目前的解决方式是把id转成了字符串,想问问有没有其他比较优雅的方法解决js由于数值长度过长导致的失精问题
10 回答11.2k 阅读
15 回答8.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6k 阅读
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
那你得自己手写函数parseJSON把数字parse成bigint(还有兼容问题),你觉得比string优雅吗?
而且你可以把id转成16进制文本,长度反而会更短