이것은 처음으로 BigDecimal을 사용하고 있으며, 몇 가지 문제가 있습니다. 여기 BigDecimal로 PI 계산하기
내 코드입니다 :import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
BigDecimal pi = new BigDecimal(4);
boolean plus = false;
for (int i = 3; i < 1000000; i += 2) {
if (plus) {
pi.add(new BigDecimal(4).divide(new BigDecimal(i), 2, BigDecimal.ROUND_HALF_UP));
} else {
pi.subtract(new BigDecimal(4).divide(new BigDecimal(i), 2, BigDecimal.ROUND_HALF_UP));
}
plus = !plus;
}
System.out.println(pi);
}
}
왜 그것을해야처럼 PI를 계산하지 않고 대신 저와 4의 답을 준다?
이것은 매우 느리게 수렴하는 시리즈입니다. –
천천히 수렴하기 때문에 결과에 오류가있는 것으로 나타날 수도 있습니다. http://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80 및 특히 "비정상적인 행동"섹션을 참조하십시오. – ajb