python 2.7
Имеем число Decimal с некоторым числом знаков после запятой. Задача округлить в формат денежной единицы в ближнюю часть

 from decimal import Decimal, ROUND_HALF_UP
print Decimal(Decimal(str(1.1247)).quantize(Decimal('.001'), rounding=ROUND_HALF_UP))
>>>1.125 # правильно при округлении до трех знаков
 print Decimal(Decimal(str(1.1247)).quantize(Decimal('.01'), rounding=ROUND_HALF_UP))
>>>1.12 # не правильно при округлении до двух знаков. Ожидается 1.13
print Decimal(Decimal(str(1.124)).quantize(Decimal('.01'), rounding=ROUND_HALF_UP))
>>>1.12 # правильно при округлении до двух знаков
print Decimal(Decimal(str(1.125)).quantize(Decimal('.01'), rounding=ROUND_HALF_UP))
>>>1.13 # правильно при округлении до двух знаков

Т.е. округляет правильно при уменьшении на 1 знак после запятой. А когда знаков больше, то они не учитываются в расчете. А это не верно.

Как заставить правильно округлять 1.1247 в 1.13 ?