最も近い小数に丸めながら、Python Decimal インスタンスを特定の桁数に丸めるにはどうすればよいですか?
docs.quantize(Decimal('.01'))
で概説され、以前の回答で提案された方法を使用してみましたが、さまざまな ROUND_ オプションを試しても正しく丸められないようです。私も getcontext().prec を設定しようとしましたが、それは小数だけでなく、数値全体の合計桁数のみを制御しているようです。
たとえば、次のようなことをしようとしています:
assert Decimal('3.605').round(2) == Decimal('3.61')
assert Decimal('29342398479823.605').round(2) == Decimal('29342398479823.61')
assert Decimal('3.604').round(2) == Decimal('3.60')
assert Decimal('3.606').round(2) == Decimal('3.61')