實例回顧:
打開瀏覽器控制台,輸入 0.1+0.2 計算結果居然是 0.30000000000000004,這是為什么???
對這個結果感到很意外?是的,就是js精度的問題。顯然不是我們想要的結果,而是希望得到0.3
(0.1*10+0.2*10)/10 == 0.3 //true;
方法一:使用toFixed()指定要保留的小數位數
(0.1+0.2).toFixed(1) = 0.3;
這個方法toFixed是進行四舍五入的也不是很精准,對於計算金額這種嚴謹的問題不推薦使用,而且不同瀏覽器對toFixed的計算結果也存在差異。
方法二:把需要計算的數字升級(乘以10的n次冪)成計算機能夠精度識別的整數,等計算完畢后在降級(除以10的n次冪),這是大部分編程語言處理精度差異的通用方法。
核心思路:把小數方法為整數(乘),進行算術運算,再縮小為小數(除)
如果文章對你有幫助,麻煩幫忙點個贊哦!嘿嘿!做一個靠譜的技術博主!