我發現了一個解決方案,通過使用BBS算法來計算Pi的數量。但是我遇到了一個問題。如果使用雙變量,我缺少一個精度。有沒有解決它的建議?如何在Java中使用big double numbers?
這裏是我的代碼:
public class Pi {
public static void main(String[] args) {
int n = 5;
for (int k = 0; k < n; k++) {
int a0 = (int) Math.pow(16, k);
double a1 = (double) 4/(8 * k + 1);
double a2 = (double) 2/(8 * k + 4);
double a3 = (double) 1/(8 * k + 5);
double a4 = (double) 1/(8 * k + 6);
double a5 = a1 - a2 - a3 - a4;
double a6 = (double) 1/a0;
double elem = a5 * a6;
System.out.println(new BigDecimal(elem));
}
}
}
你已經標記了你的問題'bigdecimal'。你試過了嗎? – EJP