数据库与后端查询返回结果的值不一致
问题排查¶
数据库中看到
后端输出:
后端查询后返回给前端得到:
可以看到问题出现在前端,由于是字段数据类型是 bigint
,推测会不会出现了精度问题。
问题原因¶
js 或 ts 能准确表示的整数范围在 -2^53 - 2^53
之间,整数过大时,无法精确表示。
解决方法¶
1 后端返回之前 toString 处理¶
对于仅需要做展示的数据,可以在后端返回结果之前,将这个属性转换为字符串返回。
2 前端使用 json-bigint 包¶
待补充