В Python 2.6.5 следующее выражение выдает False:
>>> import decimal >>> decimal.Decimal('0') < 1.0 False
Есть ли обоснование, объясняющее, почему сравнение десятичного числа с плавающей точкой должно вести себя так?
Из документации десятичного модуля :
Изменено в версии 2.7: Сравнение между экземпляром с плавающей запятой x и экземпляром десятичного числа y теперь возвращает результат на основезначения х и у.В более ранних версиях x
Так что похоже, что это была ошибка / отсутствующая функция, и все, что вам нужно сделатьэто обновление.