2013-03-15 47 views

回答

3

根據the documentation,有一個功能power(x,y)

隨着兩個參數,計算x **年。如果x是負數,那麼y必須是 積分。結果將是不精確的,除非y是整數並且結果是有限的並且可以精確地用'精確'數字表示。 結果應始終進行正確舍入,使用當前線程的上下文

的舍入模式 這意味着功率(X,1.0/N)應該給你你想要的東西。

你也可以採取次方根用

nthRoot = Decimal(x) ** (Decimal(1.0)/Decimal(n)) 

不知道,如果你考慮上述這兩個「內置」,你必須計算n的倒數明確得到次方根。

+0

以'1.0/n'作爲'Decimal'的參數,你不會在'Decimal'看到它之前降低到浮點精度嗎?比較'十進制(1/3)'和'十進制(1)/ 3'。 – DSM 2013-03-15 03:45:26

+0

@DSM - 有效點。做了一個編輯。這是否工作? – Floris 2013-03-15 03:46:54

+0

似乎!而且它比通過'.ln()'更簡單 - 當我第一次嘗試時,我掛斷了對小數對象缺少'.pow()'方法..啊,好吧。 – DSM 2013-03-15 03:49:05