spring mvc 后端 long 类型数字,传给前端之后,精度缺失的问题

这个数字类型的数据在后台debug的时候,看到的是真真的,没毛病,但是,在浏览器的network里面,看请求的结果。到前端之后,就变啦。具体看图。

大师兄

然后,就因为这个精度缺失,导致一系列后续操作,不符合预期啦。

对于Long 类型的数据,如果我们在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在Long长度大于17位时会出现精度丢失的问题。

怎么处理呢?

0,有的说使用@JSONField(serializeUsing= ToStringSerializer.class)

关键是,我这个不是一个简单的那种对象,一个类似map的东西,也找不到属性去加注解。。。

1,简单的处理方式。

在后端把这个字段从long转成字符串。代码自己实现。就好啦。

2,说是可以自定义一个converter来实现。

不才,实验了,但是,没有成功。后续要是实验成功了,会将具体步骤放在此处。

这么干有弊端,你把所有的long都给转字符串,影响前端不?这个影响范围有点大啊,不可控。还是不要这么干了,我看有的老铁例子里面把long类型的直接转成时间了,那些没必要转成时间的long类型的数据,怎么处理呢?

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值