js接收数字,最后几位数字变成了0


问题

js接收数字时,发现最后几位数字变成了0,如图所示:

从Java后台传一个数值到前端的js中,Java中输出为712070446013219840,
但在js中输出便成了712070446013219800

最后一位竟然都变成了0。

解决

根本原因:js的number类型有个最大值(安全值)。 即2的53次方,为9007199254740992 。如果超过这个值,那么js会出现不精确的问题。
原来是 js数字最长为16位 ,712070446013219840是18位,所以最后两位自动变为了0。

解决方法也很简单,只要在Java后台传数值时,将其变为String类型的即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM