使用Python 3的decimal模块计算n次根
有没有一种内置的方法可以计算Python 3中小数对象的正确四舍五入的n次根?
1 个回答
4
根据文档,有一个函数叫做power(x,y)
:
这个函数有两个参数,可以计算 x 的 y 次方(x**y)。如果 x 是负数,那么 y 必须是整数。结果可能不太准确,除非 y 是整数,并且结果是有限的,可以用“精度”位数准确表示。结果应该总是正确四舍五入,使用当前线程上下文的舍入模式。
这意味着使用 power(x, 1.0/n) 应该能得到你想要的结果。
你也可以通过以下方式计算 n 次根:
nthRoot = Decimal(x) ** (Decimal(1.0) / Decimal(n) )
不确定你是否认为这两个是“内置”的,因为你需要明确计算 n 的倒数才能得到 n 次根。