生成的id由于过长导致JS拿到的时候失精

因为用了SnowFlake的算法生成id,生成的id长度都是19的,然后发现了前端拿到的id和我们传的不一致,检查发现了js在解析id的时候因为过长发生了失精。目前的解决方式是把id转成了字符串,想问问有没有其他比较优雅的方法解决js由于数值长度过长导致的失精问题

阅读 4.9k
4 个回答

那你得自己手写函数parseJSON把数字parse成bigint(还有兼容问题),你觉得比string优雅吗?
而且你可以把id转成16进制文本,长度反而会更短

后台转字符串是最好的选择

没有,首先排除Number类型,其余剩下的类型里面最合适的就是String了

转string的方式不优雅吗?spring mvc的话设置一个convert就ok了

推荐问题