В чем заключается ошибка? 'module' object is not callable

Здраствуйте! Не могу понять, почему не работает этот участок кода:

import decimal
salary = decimal(input())

incomeTax = salary / 100 * 18
militaryTax = incomeTax / 100 * 1.5

result = salary - incomeTax - militaryTax


print('Result:', result)

Ошибка:

Traceback (most recent call last):
  File "43.py", line 4, in <module>
    salary = decimal(input())
TypeError: 'module' object is not callable

Ответы (2 шт):

Автор решения: Danis
import decimal
salary = decimal.Decimal(input())

incomeTax = salary / 100 * 18
militaryTax = incomeTax / 100 * decimal.Decimal(1.5)

result = salary - incomeTax - militaryTax


print('Result:', result)
→ Ссылка
Автор решения: Drewleks

Участок кода не работает из-за того, что вы миксуете класс float и класс decimal, что делать не рекомендуется. То есть или все во флоате или все в децимале лучше использовать.

import decimal

d = decimal.Decimal('10.5')
f = float('10.5')
print(d == f) # True


d = decimal.Decimal('10.5557')
f = float('10.5557')
print(d == f) # False
→ Ссылка