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