2017-05-19 140 views
-1

我最近發現MS Excel以及Libre Office Calc的行爲。當我將以下數字直接舍入到小數點後1位(最後一列)時,它會比先前保留兩位小數(第二列)然後保留一位小數位(第三列)四捨五入。Excel/Libre中理解ROUND()函數Calc

number    ROUND(A1,2)  ROUND(A2,1) ROUND(A1,1) 
4.449331525248   4.45    4.50   4.40 

我不是數學家,但在我看來,直接舍入到一位小數(最後一列)是錯誤的。 其他數字恰好包括[3.34690622103941,4.14677866251134,3.64939941850228,...]。

有人可以向我解釋這種現象嗎?謝謝!

(請將這個問題到合適的社區,如果需要的話)

+3

'4.4493'四捨五入到小數點後一位是'4.4',並且'4.45'四捨五入到小數點後兩位; 「4.45」四捨五入到小數點後一位是「4.5」。我不太瞭解這個問題。如果您需要進一步的解釋,也許可以把它帶到[math.stackexchange.com](https://math.stackexchange.com/)。當然,您可以在[stackoverflow.com](http://stackoverflow.com)的底部找到該社區的鏈接,但無論如何它都可以。 – Jeeped

+1

你的眼睛一直缺少* 4 *。 '4.4493/0.1 = 44.49' **不是**'4.4493/0.1 = 44.94'。 – Jeeped

+0

謝謝 - 這個錯誤顯然完全在我身上!我應該睡覺,而不是下一次詢問Excel;;) – Klaster

回答

0

你的結果是不同的,因爲函數着眼於許多不同的部分來完成它的出發點兩個或小數點後一位。

對於2dp,它看起來在4.449正確舍入到4.45,然後正確舍入爲1dp爲4.5。這是1dp相對於原始源數字的錯誤結果,因爲額外的步驟和9.

道德是如果你需要1dp,那麼一步完成只有4.449輪到4.4。基於5以下,以上。

+0

它說「5下降...」,而不是「5下降」.... –