最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文教會你解決js數(shù)字精度丟失問題

 更新時間:2022年08月25日 11:39:16   作者:韓旭在努力  
在JavaScript中計算兩個十進制數(shù)的和,有時候會出現(xiàn)令人驚訝的結果,相信這個大家也都知道了,下面這篇文章主要給大家介紹了關于解決js數(shù)字精度丟失問題的相關資料,需要的朋友可以參考下

一、關于為什么要解決精度丟失

可以看下例子,因為js失去精度問題也是常見的問題,正常我們可以四舍五入或者 toFixed保留小數(shù)這種去解決

現(xiàn)在遇到問題是我們明知道計算結果是等于0.01的但是最后的結果確實true,如果我們遇到運算問題,小數(shù)數(shù)值比對問題,那么我們就必須要去解決他,否則也就會出現(xiàn)上者情況,出現(xiàn)邏輯判斷出錯問題

二、怎么解決js的計算精度丟失問題?

正常來說如果是 小數(shù)點保留后2位、3位等等,我們可以使用常見的 * 百位數(shù)、千位數(shù) 實現(xiàn)整位結果后 將結果在除以對應的數(shù)位實現(xiàn)結果,如下

console.log(5.22 - 5.21);

console.log((5.22 * 100 - 5.21 * 100) / 100);

根據(jù)上方的描述我們再去著眼看我們最開始的例子

結果也就成了我們想要的結果

三、toPrecision 特定方法返回四舍五入長度字符串

當然toFixed也是可以實現(xiàn)對應的長度取舍效果的,因為各大瀏覽器針對toFixed的各類結果都是不同的有興趣的同學可以參考下下面這篇文章

toFixed詳解

在這里我們只介紹 toPrecision 參照方法詳解

那么我們也就知道了此方法是用來干什么的

當然再有一點也就是從左到右 不為0的位置開始計算

上方舉例 我們的結果是0.01

如果我們去使用toPrecision的話,那么要填寫的參數(shù)則為1

返還的結果也就是我們想要的 0.01

然后我們搭配 parseFloat 對字符串進行一個浮點數(shù)值轉換后,然后對比得出最后結果

console.log(5.22 - 5.21 < 0.01);
console.log((5.22 * 100 - 5.21 * 100) / 100 < 0.01);
var num = 5.22 - 5.21;
console.log(parseFloat(num.toPrecision(1)) < 0.01);

結語

到此這篇關于解決js數(shù)字精度丟失問題的文章就介紹到這了,更多相關js數(shù)字精度丟失內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

高邑县| 随州市| 济宁市| 筠连县| 龙海市| 稷山县| 盐池县| 修文县| 阿克苏市| 东乌| 德令哈市| 布拖县| 静安区| 建瓯市| 新蔡县| 湄潭县| 延长县| 宁都县| 阳东县| 常州市| 金平| 社会| 镇赉县| 黔西| 满城县| 武定县| 罗源县| 东宁县| 定结县| 和林格尔县| 琼海市| 兰考县| 汪清县| 吉木萨尔县| 亚东县| 曲周县| 勐海县| 若羌县| 无为县| 濮阳县| 库车县|