後端將Long型別的資料傳給前端,前端可能會出現精度丟失的情況及其解決方案
阿新 • • 發佈:2018-12-15
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;