Problema con BigDecimal (escribir archivo)

Iniciado por Debci, 24 Abril 2010, 17:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Debci

Hola a todos, desarrollé hace poco una aplicación en java que requeria uso de la clase contenedor BigDecimal, pues tengo que almacenar un numero muy grande, la cosa esta en que debo guardarlo en un archivo para mostrarlo.

He probado a convertir el BigDecimal a decimal, a string y demas pero obtengo resultados extraños o incoherentes:

Con string, al abrir el archivo sale un numero que no se corresponde
Con Integer, el archivo se escribe en modo binario, y al abrirlo no encuentro nada.

He usado FileOutputStream:

Código (java) [Seleccionar]

public static void grabarArchivo(int datos) {
        try {
           FileOutputStream archivo = new FileOutputStream("/root/archivo.txt");
           archivo.write(datos);
           archivo.close();

           
        } catch (Exception e) {
            //Where is my motivation? No time for the motivation!... Que pereza...
        }
    }
}


Haber si me pueden ayudar, pues no entiendo este error.

Saludos

danielo-

mmmm... de echo el bigdecimal es un String, no es asi?....deberias tratar de guardarlo nomas asi

Código (java) [Seleccionar]

import java.io.*;
import java.math.BigInteger;
public class Prueba {



public static void main(String arg[]){
try{
FileWriter fw=new FileWriter(new File("Resultado.txt"));
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw=new PrintWriter(bw);

        BigInteger entero1 = BigInteger.valueOf(452352524);
        BigInteger entero2 = BigInteger.valueOf(424245452);
 
        String texto = ""+entero1.add(entero2);
System.out.println(texto);
pw.println(texto);
pw.close();
}

catch(Exception e){
}
}
}



Debci

No habia probado con buffered reader, porque he deducido que el problema viene al convertirlo, de un formato de datos a otro, buscaba una manera de escribirlo tal cual al archivo.

Gracias ahora lo pruebo.

Saludos

Debci

Resultado negativo.
Me escribe un numero que no corresponde:

Citar[!]Tenga en cuenta que dependiendo del numero de digitos que desee calcular puede llevar mucho tiempo hacerlo.
  • Introduzca el numero de decimales del numero PI que desa calcular:
    40
  • Calculando numero Pi...
    [!]Aqui esta su resultado:
    [!]Aqui esta su resultado:
    3.1415926535897932384626433832795028841972
Eso cuando lo ejecuto, y cuando tiene que escribirlo en un archivo escribe esto:
Citar
0.004184076002074723864538214959285452741048065

No entiendo porque.

Saludos