Java的BigDecimal.pow(int)
方法只接受整数参数,没有BigDecimal
参数。
是否有像Apache的commons-lang这样的库支持BigDecimal.pow(BigDecimal)
?它应该能够计算"1.21".pow("0.5")
以返回"1.1"
。
答案 0 :(得分:30)
康奈尔大学图书馆Math.BigDecimal implementation of core mathematical functions提供了here源代码(您也可以将该图书下载为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下提供。
答案 1 :(得分:6)
没有使用,但看到suanshu
BigDecimalUtils有一个适合您需要的pow()
public static java.math.BigDecimal pow(java.math.BigDecimal a,
java.math.BigDecimal b)
Compute a to the power of b.
答案 2 :(得分:4)
Apfloat库似乎正在这样做,请查看API docs。
ApcomplexMath.pow(Apcomplex z, Apcomplex w)
Apcomplex是一个包装类,例如一个BigDecimal。