tft每日頭條

 > 生活

 > Excel中的浮點運算誤差以及規避的辦法

Excel中的浮點運算誤差以及規避的辦法

生活 更新时间:2024-12-03 10:57:27

Excel浮點計算誤差,對計算結果會有一定的影響,這個在日常的計算中一定要注意,如果是正常的數值運算,基本上不會出現錯誤了:

例如:

0.82-0.8=0.02

但是如果在外面套上函數就會出現問題:

Excel中的浮點運算誤差以及規避的辦法(Excel中的浮點運算誤差以及規避的辦法)1

=INT((B2-A2)*100)

應該得到的結果是2,但是Excel給出的結果卻是1,我們通過查看函數計算過程發現,兩個小數相減,得到的結果不是0.02,而是0.0199999999999999這樣一個值,這就是Excel浮點計算的誤差,我們做了一個簡單的測試,發現絕大多數的數值運算函數,都會受這個誤差的影響,導緻計算結果出現錯誤。

有趣的是這個影響的數值範圍:

Excel中的浮點運算誤差以及規避的辦法(Excel中的浮點運算誤差以及規避的辦法)2

各種帶8的或者1.2-1.1,又不是所有的差值在0.1的都會顯示0.999999999999999,規律很難找出來。

我試了幾個這種

1.882-1.8

2.8882-2.88

這樣的都會出現浮點誤差。

出現誤差怎麼辦?

微軟提示兩個辦法:

  • ROUND函數來确定精度:

為了防止這個誤差,嵌套一個ROUND函數來截斷數據

Excel中的浮點運算誤差以及規避的辦法(Excel中的浮點運算誤差以及規避的辦法)3

  • Excel選項中規定計算精度:

高級選項卡下面的計算工作簿,勾選計算精度為顯示精度。

Excel中的浮點運算誤差以及規避的辦法(Excel中的浮點運算誤差以及規避的辦法)4

在保存工作簿時,除兩個小數位數之外的所有精度都将丢失。 此選項影響活動工作簿,包括所有工作表。 您無法撤消此選項并恢複丢失的數據。 建議您在啟用此選項之前保存工作簿。

這是微軟的原話,我覺得這個誤差多是出現在絕對值小于0的小數運算,那麼很多時候是在計算各種百分比時會出現誤差,尤其是在績效核算時的打分計算中,多扣分了同事不高興,少扣錢了老闆不滿意。一定要多加小心,認真驗算。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved