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

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

阅读 4.8k
4 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题