后端long类型数据在前端产生精度损失

后端我们常常会用Long类型的数据作为ID,例如用雪花算法生成唯一ID
java中long类型的取值范围 (-9,223,372,036,854,775,808)(9,223,372,036,854,775,807)。有19位数字
JavaScript的Number类型是浮点数类型,它可以表示的整数范围是从(-9,007,199,254,740,992)到2^53(9,007,199,254,740,992)只有16位数字
所以转换过程中会有精度损失
解决办法,将java long类型的数据转换为字符串返回

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

你可能感兴趣的:(java)