Code: Alles auswählen
# coding:utf-8
CURRENCIES = {
'EUR':1.0,
"USD":0.765872712
}
class Money():
def __init__(self, amount, currency="EUR"):
self.amount = float(amount)
self.currency = currency
def __str__(self):
return self.amount
def __add__(self, amount):
return float(self.amount.get_amount_in_standard_currency() + amount.get_amount_in_standard_currency())
def __sub__(self, amount):
return float(self.amount.get_amount_in_standard_currency() - amount.get_amount_in_standard_currency())
def get_amount_in_standard_currency(self):
return float(self.amount * CURRENCIES[self.currency])
geld1 = Money(20)
geld2 = Money(15, "USD")
print "Zusammen: %f" % (geld1 + geld2)
print "Abzüglich: %f " %(geld1 - geld2)
Ganz zufrieden bin ich damit aber auch noch nicht - so wie es jetzt ist, wird man wahrscheinlich ab und an Money()-Objekte und normale ints / floats verwechseln und somit Fehler produzieren (wie lunar schon schrieb). Eigentlich wollte ich dir auch nur kurz zeigen, dass das mit dem Umrechnen eigentlich recht einfach ist und man mit einer Klasse auskommt.
//edit: Also bitte keine Haue, da fehlt sicher noch einiges, um damit arbeiten zu können - ich würde es an deiner Stelle eigentlich wirklich ohne Klassen machen und nur die entsprechenden Umrechnungsfunktionen schreiben.