【发布时间】:2013-04-05 02:00:51
【问题描述】:
如何在四舍五入到最接近的小数时将 Python Decimal 实例四舍五入到特定位数?
我尝试使用docs 中概述的.quantize(Decimal('.01')) 方法,并在previous answers 中提出建议,但尽管尝试了不同的 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')
【问题讨论】: