1. 程式人生 > >後端將Long型別的資料傳給前端,前端可能會出現精度丟失的情況及其解決方案

後端將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;