Python の任意精度の 10 進数は素敵ですが、きれいにフォーマットされた方法で出力する方法が見つからないようです。たとえば、次の式を計算するとします。
>>> pow(2,70) -2
1180591620717411303422L
本来あるべきように、それは 2 で終わります。ただし、小数点以下 2 桁を表示するように書式設定しようとすると、浮動小数点数はあまり正確ではないため、2^70 に丸められます。
>>> print "{0:.2f}".format(pow(2,70) -2)
1180591620717411303424.00
精度を落とさずに希望するフォーマットで印刷する方法はありますか?
(NumPy などの非標準モジュールを使用せずに)