跳转至

数据库与后端查询返回结果的值不一致

问题排查

数据库中看到

后端输出:

后端查询后返回给前端得到:

可以看到问题出现在前端,由于是字段数据类型是 bigint,推测会不会出现了精度问题。

问题原因

js 或 ts 能准确表示的整数范围在 -2^53 - 2^53 之间,整数过大时,无法精确表示。

解决方法

1 后端返回之前 toString 处理

对于仅需要做展示的数据,可以在后端返回结果之前,将这个属性转换为字符串返回。

2 前端使用 json-bigint 包

待补充