4
가장 가까운 십진수로 반올림하면서 파이썬 Decimal 인스턴스를 특정 자릿수로 반올림하려면 어떻게합니까?파이썬 돌리기 방법 십진수 인스턴스
docs에 설명 된 .quantize(Decimal('.01'))
방법을 사용해 보았습니다. previous answers에서 제안했지만 다른 ROUND_ 옵션을 시도해도 올바르게 반올림되지는 않습니다. 또한 getcontext(). prec를 설정해 보았습니다. 그러나 이는 단지 소수만이 아니라 전체 숫자의 총 자릿수를 제어하는 것으로 보입니다.
난 당신이 당신이 원하는 것을 얻을 quantize
에 decimal.ROUND_HALF_UP
옵션을 사용할 필요가 있다고 생각
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')