在網路上看到有人發現了 Excel 中的奇怪現象,如下圖:

Excel-為何(AVERAGE(0.1,0.1,0.1)-0.1)運算結果不為0?

比較一下:

(1)

公式:=(AVERAGE(0.1,0.1,0.1)-0.1)

顯示值:-1.38778E-17

儲存內容:-0.0000000000000000138777878078145

(2)

公式:=AVERAGE(0.1,0.1,0.1)-0.1

顯示值:0

儲存內容:0.0000000000000000000000000000000

(1)和(2)的公式內容以數學運算的角度看起來結果應該要一樣,但是在 Excel 的運算結果產生了差異。確實原因,我也無法得知。

然而-0.0000000000000000138777878078145看起來也是接近 0,因為 Excel 裡的有效位數只有 15 位。

以下的運算也會有相同的結果

=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1)-0.1)

=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)

=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)

=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)

網友們可以一起來探究!

文章標籤
創作者介紹
創作者 vincent 的頭像
vincent

學不完.教不停.用不盡

vincent 發表在 痞客邦 留言(0) 人氣()