Java的Long类型的范围比JavaScript大,那就有可能导致精度损失的情况。
先来看看JavaScript的Number的最大值

再看看Java的Long类型的最大值

解决方法很简单,如果Java返回给前端的是个对象,就是在对象里可能出现大数值的那个属性上加个注解,比如说这样:
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@JsonSerialize(using = ToStringSerializer.class) private Long id;
如果返回的就只是个Long类型的数,那还是转成字符串吧。
本文探讨了Java的Long类型与JavaScript的Number类型在处理大数值时的精度差异,介绍了如何通过将Java的大数值转换为字符串来避免前端精度损失的方法。
5152

被折叠的 条评论
为什么被折叠?



