Произвольные прецизионные десятичные знаки Python прекрасны, но я не могу найти способ распечатать их в хорошо отформатированном виде. Например, если я вычислил следующее выражение:Печать произвольной точности десятичных знаков в python
>>> pow(2,70) -2
1180591620717411303422L
он заканчивается на 2, как и следовало ожидать. Однако, если я попытаюсь отформатировать его, чтобы показать два десятичных знака, он округляется до 2^70, потому что поплавки не очень точны.
>>> print "{0:.2f}".format(pow(2,70) -2)
1180591620717411303424.00
Есть ли способ печати с форматированием, который я хочу, не теряя точности?
(и без использования каких-либо нестандартных модулей, таких как NumPy)
Я не понимаю. Вы хотите напечатать целое число с десятичными знаками? Зачем? Как насчет 'print '{} .00" .format (pow (2,70) - 2) '? –
десятичные разряды всегда .00 для вашего случая? – joaquin
Я хочу напечатать результат вычисления с десятичными знаками, и это вычисление иногда возвращает дробные значения. Я использовал только целое число в примере, потому что это было простое число, которое было достаточно большим, чтобы показать проблему. – sapphiremirage