Ajouter proprieté a une classe existante.
Bonjour, Je cherche a ajouter une propriété a la classe Decimal qui retourne le nombre arrondi converti en str sans succés.
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
class D(Decimal):
@property
def rd1(self):
if self == self.to_integral():
return str(self.quantize(Decimal(1)))
elif self.quantize(Decimal(".01")) == self.to_integral():
return str(self.quantize(Decimal(1)))
else:
return str(self.quantize(Decimal(".01")).normalize())
a = D("1.3")
b = D("1.45")
c = a + b |
le probleme est que c se tranforme en Decimal et perd du coup la proprieté rd1.
est t'il possible d'ajouter la proprieté directement a la classe Decimal pour que (a + b).rd1 fonctionne ?