Chcę obliczyć moc dla Decimal
w Pythonie jak:obliczania mocy dla dziesiętne w Pythonie
from decimal import Decimal
Decimal.power(2,2)
Przede powinien zwrócić mi jak Decimal('2)
Jak mogę obliczyć moc dla Decimals
?
EDIT: To co zrobiłem
y = Decimal('10')**(x-deci_x+Decimal(str(n))-Decimal('1'))
x, deci_x są typu dziesiętnych
ale powyżej wypowiedzi rzuca błąd jako:
decimal.InvalidOperation: x ** (non-integer)
StackTrace:
Traceback (most recent call last):
File "ha.py", line 28, in ?
first_k_1=first_k(2,n-1,k)
File "ha.py", line 18, in first_k
y = Decimal('10')**(x-deci_x+Decimal(str(n))-Decimal('1'))
File "/usr/lib64/python2.4/decimal.py", line 1709, in __pow__
return context._raise_error(InvalidOperation, 'x ** (non-integer)')
File "/usr/lib64/python2.4/decimal.py", line 2267, in _raise_error
raise error, explanation
@ Mayank Jain nie można użyć '**' z wartościami niecałkowitymi. Spójrz na poniższe rozwiązanie, używając funkcji 'pow' z modułu' matematycznego'. – danodonovan
@danodonovan - Ale problem jest, jeśli zastosuję pow, wtedy moja precyzja byłaby zmniejszona ... –
W python 3.4, 'Decimal' ma funkcję' power' – danodonovan