后端返回数字类型时前端出现精度丢失情况的处理

问题

如果前端要展示一个长整型数据878378273237766208,会出现精度丢失或格式问题:
后端返回数字类型时前端出现精度丢失情况的处理_第1张图片
所以对于这类数据不能直接传给前端,需要做一些处理

解决方案

解决的办法就是将这些数据转化为字符串。
在java中有个简单的办法:为这个字段指定序列化器,就可以直接把这个字段转化成字符串了

    //由于我用的时Jackson,所以这里直接加上这个注解就好了,如果你用的是其他json库则需要自行查找相关解决方案
    @JsonSerialize(using = ToStringSerializer.class)
    Long id;

当然这种方法只能保证前端展示这个数据时不会出问题,如果需要运算的话还是会出现精度丢失。所以数字运算还是全部放到后端来做比较合适。

你可能感兴趣的:(基础知识,BUG处理,js,精度,前后端精度,js精度丢失)