Когда я делю 1/5e-5, он дает правильный ответ, но 1/5e-6 дает ответ близко к правильному.Раздел Python 2.7 не показывает точный результат
>>> 1/5e-5
20000.0
>>> 1/5e-6
199999.99999999997 (should be 200000)
>>>
Как его получить, чтобы показать точное значение. Я попытался импортировать decimel, numpy и scipy, но ни один из них не изменил результат.
https://docs.python.org/3.1/tutorial/floatingpoint.html –
Вы должны прочитать [ошибка округления с плавающей точкой] (http://programmers.stackexchange.com/questions/101163/what-causes-floating-point-rounding-errors). Основная проблема заключается в том, что компьютеры не могут точно моделировать определенные десятичные дроби в двоичном формате, подобно тому, как мы не можем моделировать 2/3 (0,666667 ...) в десятичной системе. –
Вы не всегда можете получить «точное значение» с математикой с плавающей запятой. – TigerhawkT3