js字符串转数字长度限制|超过长度有误差


正整数、负整数超过15、16位开始出现偏差

var numLen16 = '999999999666666'
numLen16.length // 16  长度16位 正整数
+numLen16 // '999999999666666' 没有误差

var numLen17 = '9999999999555557'
numLen17.length // 17  长度17位 正整数
+numLen16 // '9999999999555556' 从第17位开始出现误差

//json 化时的问题
var json = JSON.stringify({a:999999999955555777,b:true})
json // "{"a":999999999955555800,"b":true}" 也会出现误差

 

小数超过18位左右,小数部分超过位数会被丢掉

+'9555555555555.34243535'  // 9555555555555.342

 


免责声明!

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



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