41

Java のBigDecimal.pow(int)メソッドは整数パラメーターのみを受け入れ、パラメーターは受け入れませんBigDecimal

をサポートする Apache の commons-lang のようなライブラリはありますBigDecimal.pow(BigDecimal)か? "1.21".pow("0.5")を返すように計算できるはず"1.1"です。

4

3 に答える 3

38

コア数学関数のMath.BigDecimal 実装とソース コードがコーネル大学図書館のこちらから入手できます (ライブラリをtar.gzとしてダウンロードすることもできます)。ライブラリの使用例を次に示します。

import org.nevec.rjm.*;
import java.math.BigDecimal;

public class test {
    public static void main(String... args) {
        BigDecimal a = new BigDecimal("1.21");
        BigDecimal b = new BigDecimal("0.5");

        System.out.println(BigDecimalMath.pow(a, b).toString());
    }
}

プリントアウト:

1.1

アップデート

ライセンス情報は、2015 年 5 月の更新で明確になりました。

完全なソース コードは、LGPL v3.0 で入手できます。

于 2013-05-16T16:40:21.000 に答える
7

使用していませんが、スアンシュを見ました。github のオープン ソース バージョン ( https://github.com/nmdev2020/SuanShu )。

BigDecimalUtils には、ニーズに合った pow() があります

public static java.math.BigDecimal pow(java.math.BigDecimal a,
                                       java.math.BigDecimal b)
Compute a to the power of b.
于 2013-05-08T13:21:00.073 に答える