后端将Long类型的数据传给前端,前端可能会出现精度丢失的情况及其解决方案

1.问题描述: 后端将long类型数据传给前端,前端解析时可能出现精度丢失的情况.

例如:后端数据:919059760869863424,到前端变成919059760869863400;又或如:918806410454654976--->918806410454654900表现为后两位数据被四舍五入了;

 2.解决方案:

2.1 方案一:将后端long类型数据转成字符串再传给前端,该操作比较危险,请谨慎操作;

2.2 方案二:使用fastJson提供的注解,@JSONField(serializeUsing= ToStringSerializer.class)

    示例: 在javaBean中long属性上直接加上注解即可;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;

public class TbOrderItem implements Serializable {
    @JSONField(serializeUsing= ToStringSerializer.class)
    private Long id;

猜你喜欢

转载自blog.csdn.net/p778970202/article/details/81568422