欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、關(guān)于為什么要解決精度丟失

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

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

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

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

console.log(5.22 - 5.21);

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

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

結(jié)果也就成了我們想要的結(jié)果

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

當(dāng)然toFixed也是可以實(shí)現(xiàn)對應(yīng)的長度取舍效果的,因?yàn)楦鞔鬄g覽器針對toFixed的各類結(jié)果都是不同的有興趣的同學(xué)可以參考下下面這篇文章

toFixed詳解

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

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

當(dāng)然再有一點(diǎn)也就是從左到右 不為0的位置開始計算

上方舉例 我們的結(jié)果是0.01

如果我們?nèi)ナ褂胻oPrecision的話,那么要填寫的參數(shù)則為1

返還的結(jié)果也就是我們想要的 0.01

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

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);

結(jié)語

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

相關(guān)文章

最新評論