我想用 Python 计算 Decimal
的幂,例如:
from decimal import Decimal
Decimal.power(2,2)
上面应该返回我作为 Decimal('2)
如何计算小数
的幂?
编辑: 这是我做的
y = Decimal('10')**(x-deci_x+Decimal(str(n))-Decimal('1'))
x,deci_x是小数类型
但上面的表达式抛出错误:
decimal.InvalidOperation: x ** (non-integer)
堆栈跟踪:
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
最佳答案
您可以使用 **
计算功率:
2**3 # yields 8
a = Decimal(2)
a**2 # yields Decimal(4)
根据您的更新,我觉得还可以:
>>> x = Decimal(2)
>>> deci_x = Decimal(1)
>>> n=4
>>> y = Decimal('10')**(x-deci_x+Decimal(str(n))-Decimal('1'))
>>> y
Decimal('10000')
关于python - 在 Python 中计算小数的幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567720/