Java - Ayuda para imprimir una linea muy extensa de decimales

 
Vista:
sin imagen de perfil

Ayuda para imprimir una linea muy extensa de decimales

Publicado por Alejandro (16 intervenciones) el 18/01/2018 18:55:55
Saludos, tengo un archivo el cual genera 10000 dígitos de Pi, el problema es que al mostrarlos en consola no me los muestra todos y me tira un mensaje de que la línea es demasiado larga. ¿Cómo puedo hacer para que se muestren todos? De ser posible ayudenme para mostrarlos en una ventana ya que no tengo idea de qué hacer :/
Este es el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package pigenerator;
 
import java.math.BigDecimal;
import java.math.MathContext;
 
/**
 *
 * @author Alejandro
 */
public class Ejecutar {
 
    public static void main(String[] args) {
        PiGenerator pi = new PiGenerator();
        System.out.print("Pi con 10000 decimales: " + "\n"+calculoPiDase()+"\n");
    }
 
    private static BigDecimal serieArcotangente(double x, int iteraciones) {
 
        MathContext mc = new MathContext(10000);
        BigDecimal result = new BigDecimal(0.00, mc);
        BigDecimal uno = new BigDecimal(1.00);
        for (int i = 0; i < iteraciones; i++) {
            double div = (2.00 * i + 1.00)
                    * (Math.pow(1.00 / x, 2.00 * i + 1.00));
            BigDecimal divisor = new BigDecimal(div);
            if (i % 2 == 0) {
                result = result.add(uno.divide(divisor, mc));
            } else {
                result = result.subtract(uno.divide(divisor, mc));
            }
        }
        return result;
 
    }
 
    public static BigDecimal calculoPiDase() {
        BigDecimal pi = serieArcotangente(1.00 / 2.00, 100).add(serieArcotangente(1.00 / 5.00, 100)).add(serieArcotangente(1.00 / 8.00, 100)).multiply(new BigDecimal(4.00));
        return pi;
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda para imprimir una linea muy extensa de decimales

Publicado por Tom (1831 intervenciones) el 18/01/2018 20:02:27
¿ En qué "consola" y qué error da exactamente ?
A mí me funciona perfectamente. En todo caso, convierte el BigDecimal a string y vete sacando trozos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para imprimir una linea muy extensa de decimales

Publicado por Tom (1831 intervenciones) el 18/01/2018 20:20:37
Por cierto ¿ has comprobado que no pierdes demasiada precisión al hacer
double div = 201.0 * pow(2.0, 201.0);
?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda para imprimir una linea muy extensa de decimales

Publicado por Alejandro (16 intervenciones) el 20/01/2018 16:09:17
Me aparece un mensaje en la consola de netbeans de que la línea es demasiado larga y que no puede mostrarme todos los dígitos completos. Y pues no no he probado cambiando los valores del double...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para imprimir una linea muy extensa de decimales

Publicado por Tom (1831 intervenciones) el 20/01/2018 17:25:11
No has leído completo el mensaje de error ¿ verdad ? ¡ Qué vicio !
Configura la "consola" de netbeans (con el botón derecho del ratón te aparecerá un menú contextual).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar