问题:
数据库查一条id(该字段类型是bigint),我后端用String类型来接收,查出来的数据是【1539073448274423810】正确的,但是返回给前端,打印之后id的尾数变了【1539073448274423800】,可以排除是查错数据的问题,因为数据库就一条符合的数据。我想请问一下,这是什么原因造成的呢?是精度丢失吗?那在controller层的时候数据还是准确的,为什么到了前端数据就不一致了呢?
是精度丢了 在返回给前端前就要把他先转为 string。 你要在network看到后端返回的是字符串的 "1539073448274423810" 就对了
我也复现了,不是后台的问题,我看到返回前端都是对的,但是展示错误了,如下图:
我在浏览器看了下最大的数字,这里可能只保证位数对应上的,后面的800或者810没法保证了,所以你做展示的时候需要强转为字符串才行,不能直接打印