溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JS浮點(diǎn)數(shù)相減出現(xiàn)異常數(shù)

發(fā)布時(shí)間:2020-07-12 03:27:01 來(lái)源:網(wǎng)絡(luò) 閱讀:479 作者:ssc2013 欄目:開(kāi)發(fā)技術(shù)

今天小編出現(xiàn)一種情況在js中用0.3-0.2得出來(lái)的卻不是0.1而是0.09999999999999999999998,很是納悶,查看了很多資料才發(fā)現(xiàn)原來(lái)是如下原因?qū)е碌模?/span>


"浮點(diǎn)數(shù)”不是“實(shí)數(shù)”,浮點(diǎn)數(shù)有最大表示范圍,在表示范圍內(nèi)用最接近實(shí)數(shù)的浮點(diǎn)數(shù)可以表示數(shù)來(lái)表示,比如 

0.1是實(shí)數(shù),意味著0.10000000…… 都是0.1,而double無(wú)法精確表示0.1,但它能精確表示 +0.1000000000000000055511151231257827021181583404541015625 ,所以它用 +0.1000000000000000055511151231257827021181583404541015625 來(lái)表示 0.1,同樣: 
0.1 <--> 0.1000000000000000055511151231257827021181583404541015625 
0.2 <--> 0.200000000000000011102230246251565404236316680908203125 
0.3 <--> 0.299999999999999988897769753748434595763683319091796875

當(dāng)你用浮點(diǎn)數(shù)來(lái)計(jì)算時(shí),結(jié)果也是浮點(diǎn)數(shù).計(jì)算機(jī)無(wú)法精確表示的,于是它用最接近的值來(lái)表示


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js j
AI