現象:今天運維問了我一個問題,兩個不同的瀏覽器看到同一個數字最後一位小數不同。
一個瀏覽器是ie11,顯示的是1.44。
一個瀏覽器是google瀏覽器,顯示的是1.43。
思路:我第一反應應該是js有四捨五入的操作,比如用了toFixed(2)。
我猜測不同瀏覽器對toFixed函數解析不一樣,可能不是單純的四捨五入,有的可能有銀行家算法(四捨六入,五奇入偶舍)。
搜索了一下,發現與我預期一致。
參考網址:
https://blog.csdn.net/aiyaobucuoo/article/details/54668856
建議:前端減少計算,儘量只做展示。在涉及到除法、保留小數等可能會引起差異的操作時儘量小心仔細。