解決js計算0.1+0.2 !==0.3


經常做用js數據運算的同學應該了解,在js中,0.1+0.2不會等於0.3,而是等於:

 

 

 

我一開始發現這個bug的時候也覺得很奇怪,那怎么去解決這個bug,讓0.1+0.2 最后能得到0.3呢?

方法一
最簡單的就是先把0.1和0.2換成別的數字(因為在js中只有這兩個數相加有bug,例如:1.1+1.2不會有問題),所以先讓0.1和0.2分別乘以10,求和之后再除以10 ,則不會有問題:

(0.1*10+0.2*10)/10 ===0.3

 

 

 


方法二
可能很多小伙伴都忘記了js的Number對象有一個保留小數位數的方法:toFixed();傳入一個需要保留的位數就OK:

parseFloat((0.1+0.2).toFixed(10)) ===0.3

 


因為toFixed方法返回的是一個字符串,所以別忘了把字符串轉回浮點數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM