本篇內(nèi)容介紹了“js浮點(diǎn)數(shù)精度丟失的問題及解決方法”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
我們是2013年至今的成都網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè),電商網(wǎng)站設(shè)計(jì)開發(fā),成都外貿(mào)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)頁設(shè)計(jì),微信平臺小程序開發(fā)、等服務(wù)。為客戶創(chuàng)造有價值的品牌營銷體驗(yàn),讓互聯(lián)網(wǎng)提升企業(yè)的競爭力!
說明
1、在數(shù)學(xué)計(jì)算中,小數(shù)會有一定的誤差,這是計(jì)算機(jī)本身的bug,不僅是js語言,其他語言也有這個問題。
2、解決方案,不要讓兩個小數(shù)比較大小,一般不會影響正常開發(fā)。
實(shí)例
<script> /*NaN: not a number 不是一個數(shù)字 * 1.NaN是number數(shù)據(jù)類型中一個特殊的數(shù)值,是數(shù)學(xué)計(jì)算錯誤得到的一個結(jié)果 * 2.NaN與任何數(shù)字都不相等,包括它的本身 * 3.NaN與任何數(shù)字計(jì)算得到的都是NaN isNaN(數(shù)據(jù)):判斷一個數(shù)據(jù)是不是NaN,結(jié)果為布爾類型 true:是 false:不是 */ //1.NaN:not a number 不是一個數(shù)字 //NaN是number數(shù)據(jù)類型中一個特殊的數(shù)值,是數(shù)學(xué)計(jì)算錯誤得到的一個結(jié)果 let num = '張三' - 100;//當(dāng)某個表達(dá)式無法計(jì)算(計(jì)算錯誤時),會得到NaN console.log ( num ); //NaN console.log ( typeof NaN ); //number //2.NaN與任何數(shù)字都不等,包含它本身 console.log ( NaN == 0 ); //false console.log ( NaN == NaN ); //false //3.NaN與任何數(shù)字計(jì)算得到的都是NaN console.log ( NaN + 100 ); //NaN //4.isNaN(數(shù)據(jù)):檢測一個數(shù)據(jù)是不是NaN 得到的結(jié)果是布爾類型 console.log ( isNaN ( NaN ) ); //true console.log ( isNaN ( 123 ) ); //false //如果檢測的數(shù)據(jù)不是number類型,js編譯器會嘗試著將這個數(shù)據(jù)轉(zhuǎn)化為number類型,然后再判斷 //這種數(shù)據(jù)類型轉(zhuǎn)換稱為隱式轉(zhuǎn)換:下一小節(jié)講解 console.log ( isNaN ( "abc" ) ); //true //5.(課后了解即可)number浮點(diǎn)數(shù)(小數(shù))精度丟失 //小數(shù)在進(jìn)行數(shù)學(xué)計(jì)算時,會有一定的誤差,這是計(jì)算機(jī)本身的bug,不僅是js語言,其他語言也有這個問題 //解決方案:不要讓兩個小數(shù)比較大小,這種情況一般不會影響正常開發(fā) console.log ( 0.1 + 0.2 ); //0.300000000000004 console.log ( 0.1 + 0.2 == 0.3 ); //false console.log ( 0.4 + 0.5 ); //0.9 console.log ( 1.1 - 0.2 ); //0.9000000000000001 </script>
“js浮點(diǎn)數(shù)精度丟失的問題及解決方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前題目:js浮點(diǎn)數(shù)精度丟失的問題及解決方法
文章分享:http://aaarwkj.com/article46/ihhdhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站策劃、定制開發(fā)、網(wǎng)站排名、建站公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)