Wie zu verwenden im Java big double zahlen?

Ich eine Lösung gefunden habe für die Berechnung der Zahl Pi durch die Verwendung von BBS-Algorithmus. Aber ich ein problem. Mir fehlt ein Präzision bei Verwendung einer double-Variablen. Gibt es irgendeinen Vorschlag, es zu beheben?

Hier ist mein code:

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));
        }
    }
}
Sie haben tagged Ihre Frage 'bigdecimal'. Haben Sie es ausprobiert?

InformationsquelleAutor Alex | 2013-11-27

Schreibe einen Kommentar