JS处理Java的Long类型数据精度丢失问题
问题
服务时,返回的账户信息有误。
报文返回为正确数据
页面显示数据丢失精度
经核查,原因为:
由于JavaScript中Number类型的自身原因,并不能完全表示Long型的数字,在Long长度大于17位时会出现精度丢失的问题。
解决办法
- 后端返回字段改为String类型(影响可能比较大,不推荐)
- 在后端对应返回实体中的字段注解(影响较小,推荐)
@JSONField(
serializeUsing = ToStringSerializer.class
)