您好,登錄后才能下訂單哦!
今天小編出現一種情況在js中用0.3-0.2得出來的卻不是0.1而是0.09999999999999999999998,很是納悶,查看了很多資料才發現原來是如下原因導致的:
"浮點數”不是“實數”,浮點數有最大表示范圍,在表示范圍內用最接近實數的浮點數可以表示數來表示,比如
0.1是實數,意味著0.10000000…… 都是0.1,而double無法精確表示0.1,但它能精確表示 +0.1000000000000000055511151231257827021181583404541015625 ,所以它用 +0.1000000000000000055511151231257827021181583404541015625 來表示 0.1,同樣:
0.1 <--> 0.1000000000000000055511151231257827021181583404541015625
0.2 <--> 0.200000000000000011102230246251565404236316680908203125
0.3 <--> 0.299999999999999988897769753748434595763683319091796875
當你用浮點數來計算時,結果也是浮點數.計算機無法精確表示的,于是它用最接近的值來表示
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。