Java的BigDecimal.pow(int)
方法只接受整数参数,不接受BigDecimal
参数。
是否有像 Apache 的 commons-lang 那样支持的库BigDecimal.pow(BigDecimal)
?它应该可以计算"1.21".pow("0.5")
返回"1.1"
。
Java的BigDecimal.pow(int)
方法只接受整数参数,不接受BigDecimal
参数。
是否有像 Apache 的 commons-lang 那样支持的库BigDecimal.pow(BigDecimal)
?它应该可以计算"1.21".pow("0.5")
返回"1.1"
。
这里有一个核心数学函数的 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 下提供。
没用过,但是看到了酸舒。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.
Apfloat 库似乎正在这样做,请查看API 文档。
ApcomplexMath.pow(Apcomplex z, Apcomplex w)
Apcomplex 是一个包装类,例如 BigDecimal。