round(1.4 999 999 999 999 999)
(不含空格)被四捨五入到2 但 round(1.4 99 999 999 999 999)
(不含空格)被四捨五入到1四捨五入在Python
我想這需要做的不精確浮點表示,但看不懂第一個表示被解釋爲接近於2而不是1.
round(1.4 999 999 999 999 999)
(不含空格)被四捨五入到2 但 round(1.4 99 999 999 999 999)
(不含空格)被四捨五入到1四捨五入在Python
我想這需要做的不精確浮點表示,但看不懂第一個表示被解釋爲接近於2而不是1.
因爲1.4 999 999 999 999 999
在解析時正好是1.5,所以它們之間的差別太小而不能表示那麼大。
但1.4 99 999 999 999 999
足夠低解析爲「小於1.5」,其實1.4999999999999988897769753748434595763683319091796875,這顯然是小於1.5
如果這是一個普遍問題,也許我可以從問題中刪除Python位。 –
這是相當普遍的,除了「循環」操作的確切語義因語言不同而不同:在Python中,「round」正確舍入;對於所有語言來說這不一定是真的。 OTOH,與浮點運算本身相比,浮點運算更像浮點運算。 –
https://docs.python.org/2/tutorial/floatingpoint.html#tut- fp-issues –