Sto solo giocando intorno alle funzioni di classi di apprendimento, ecc. Quindi ho deciso di creare una funzione semplice che dovrebbe darmi l'importo delle tasse.tipo/i di operando non supportato per *: 'float' e 'Decimal'
questo è il mio codice finora ...
class VAT_calculator:
"""
A set of methods for VAT calculations.
"""
def __init__(self, amount=None):
self.amount = amount
self.VAT = decimal.Decimal('0.095')
def initialize(self):
self.amount = 0
def total_with_VAT(self):
"""
Returns amount with VAT added.
"""
if not self.amount:
msg = u"Cannot add VAT if no amount is passed!'"
raise ValidationError(msg)
return (self.amount * self.VAT).quantize(self.amount, rounding=decimal.ROUND_UP)
Il mio problema è che io sto ottenendo il seguente errore:
tipo di operando non supportato (s) per *: 'float' e ' Decimale '
Non vedo perché questo non dovrebbe funzionare!
galleggiante, decimale, stessa cosa? Cosa dovrei usare per la valuta? – Prometheus
È il contrario; 'self.VAT = decimal.Decimal ('0.095')'. –
@Spike: No, 'decimal.Decimal()' non è la stessa cosa di 'float'. È un approccio diverso alla gestione dei numeri reali da parte dei computer. –