现象
java中的大数字比如18/19位的整数(long),转为json,输出到页面后,就出现精度丢失,如果数字再大些就会出现科学计数法。
这两个问题都不是json工具包(比如Gson)的问题,而是由于js存储大数字丢失精度引起。
1、精度丢失例子:当js表达整数时,最多表达15位数字,如果超过15位就会出现精度丢失问题。
援引js文档:
精度
整数(不使用小数点或指数计数法)最多为 15 位。
最后几位都变为0,丢失精度
var x = 1234567890123456999;
console.log(x);
输出结果:1234567890123457000
2、数字再大一些就会出现,科学计数法
var x = 123456789012345699999999;
console.log(x);
输出结果:1.234567890123457e+23
解决办法
后台属性由数字类型改为字符串,转为json,传到前台就不会丢失了。
原神祈愿模拟器最新版
原神祈愿模拟器手机版是一款完整汉化的趣味原神抽卡模拟小游戏,
宝宝森林美食完整版
宝宝森林美食游戏最新版是一款十分有趣的休闲益智游戏,帮助宝宝
g沙盒仇恨官方英文版(gorebox)
G沙盒仇恨英文原版是一款最近非常火热的沙盒模拟类游戏,在这里
迷你世界测试服最新版2024
迷你世界测试服2021最新版,即迷你世界的先遣服版本,用户能
闪耀暖暖最新版2024
闪耀暖暖手游这是非常好玩的换装手游,游戏内容丰富有趣,游戏环