vue开发之----后端过来的数据丢失精度问题后几位00
后端过来的数据丢失精度问题后几位00?怎么就不一样了呢?
·
现象:
前端解析后端的返回,在接口返回获取的long类型的值,是一个数字,但是发现前端展示出来丢失了精度。
展示如下:
发现后端返回的数据和前端展示不一致,后面变成了0000。
问题原因:
1、后端使用64位存储长整数(long),最大支持9223372036854775807
2、前端的JavaScript使用53位来存放。
最大支持9007199254740992,超过最大值的数,可能会出现问题(得到的溢出后的值);
解决方式:
可以从后端或者前端两方来处理(其中一方进行处理即可,或者两方都处理)。
简单通用方法:后端解决传输为string类型
这个问题无非就是数值移除了,那么可以将数字转换为字符串返回给前端即可,前端解析时,因为是字符串,自然不会出现溢出的问题;
一般项目中Long类型字段的数量比较多,可以配置Jackson,将所有的数字在序列化时,都转换为字符串
更多推荐
已为社区贡献1条内容
所有评论(0)