首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

SpringBoot返回前端Long型丢失精度咋办

console.log(Math.pow(2, 53) - 1); console.log(1L<<53); 9007199254740991 JavaScript 有所谓的最大和最小安全值: console.log(Number.MAX_SAFE_INTEGER...会有两个或更多整数的双精度表示是相同的;即超过这个范围,有的整数是无法精确表示的,只能大约(round)到与它相近的浮点数(说到底就是科学计数法)表示,这种情况下叫做不安全整数,例如: console.log(Number.MAX_SAFE_INTEGER...+ 1); // 结果:9007199254740992,精度未丢失 console.log(Number.MAX_SAFE_INTEGER + 2); // 结果:9007199254740992...,精度丢失 console.log(Number.MAX_SAFE_INTEGER + 3); // 结果:9007199254740994,精度未丢失 console.log(Number.MAX_SAFE_INTEGER...+ 4); // 结果:9007199254740996,精度丢失 console.log(Number.MAX_SAFE_INTEGER + 5); // 结果:9007199254740996

3.8K21

探秘 JavaScript 世界的神秘数字 1.7976931348623157e+308

Number.MAX_SAFE_INTEGER 的值是 9007199254740991,我们分析一下,规约化浮点数,尾数部分有 52 位,最大安全整数应该是小数部分全为 1,指数部分为 52:...用 JavaScript 来验证一下 2**53 - 1 // 9007199254740991 Number.MAX_SAFE_INTEGER === 2**53 - 1 // true 没问题,这个神秘数字...9007199254740991 就是 2^{53} -1 来看看为什么这个数字是最大安全整数,因为如果比这个数更大,尾数位已经全部是 1 了,只能增大指数,所以比 Number.MAX_SAFE_INTEGER...更大的整数是: 是 Number.MAX_SAFE_INTEGER 的 2 倍,所以最大安全整数只能是 9007199254740991 还有一个数字 Number.MIN_SAFE_INTEGER...,值为 -9007199254740991,这个就很简单,符号位变为 1,也就是: Number.MIN_SAFE_INTEGER === - Number.MAX_SAFE_INTEGER // true

1.5K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券