现象
后端返回long型数据,但是前端展示时数据不一致。比如,后端返回的数据是1475797674679549851,但前端显示出来却成了1475797674679550000,后面几位全变成了0,精度丢失了。
原因
Java long类型的的数字超出了Javascript的处理范围;
解决办法
后端将long类型数据转为字符串返回给前端;
实操
全局更改
spring.jackson.generator.write-numbers-as-strings=true
某个字段
@JsonSerialize(using= ToStringSerializer.class)
@JsonDeserialize(using = NumberDeserializers.LongDeserializer.class)
参考:
- https://www.cnblogs.com/hahahehexixihoho/p/10214156.html