2 waniu123 waniu123 于 2013.06.03 12:17 提问

java中关于Sqrt()函数

import java.math.*;
public class Test {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal(Math.sqrt(5)-1,new MathContext(100));
BigDecimal b2 = new BigDecimal(2,new MathContext(100));
BigDecimal result = b1.divide(b2, new MathContext(100));
String str = result.toString();
int a=str.length();
System.out.println(a);
System.out.print(str);
}
}
上面由于采用的是sqrt()函数而导致返回精度只有50位,现在想知道求一个数的开方后面的所有精度,比如根号2后面的1000位,该怎么求?

1个回答

lucumu
lucumu   2013.06.03 13:31

可以用这个数学计算的包,支持BigDecimal的一些算法 http://arxiv.org/src/0908.3030v2/anc

Csdn user default icon
上传中...
上传图片
插入图片