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