Tôi chỉ chơi quanh các lớp học chức năng v.v. Vì vậy, tôi quyết định tạo một hàm đơn giản, cái gì sẽ cho tôi số tiền thuế.loại toán hạng không được hỗ trợ cho *: 'float' và 'Decimal'
đây là mã của tôi cho đến nay ...
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)
Vấn đề của tôi là tôi nhận được lỗi sau:
không được hỗ trợ loại toán hạng (s) cho *: 'phao' và ' Thập phân '
Tôi không hiểu tại sao điều này không hoạt động!
float, decimal, cùng điều tho? Tôi nên sử dụng loại tiền nào? – Prometheus
Đó là cách khác xung quanh; 'self.VAT = decimal.Decimal ('0.095')'. –
@Spike: Không, 'decimal.Decimal()' không giống với 'float'. Đó là một cách tiếp cận khác để xử lý số thực bằng máy tính. –