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