Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Debci en 24 Abril 2010, 17:33 pm



Título: Problema con BigDecimal (escribir archivo)
Publicado por: Debci en 24 Abril 2010, 17:33 pm
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
  1. public static void grabarArchivo(int datos) {
  2.        try {
  3.           FileOutputStream archivo = new FileOutputStream("/root/archivo.txt");
  4.           archivo.write(datos);
  5.           archivo.close();
  6.  
  7.  
  8.        } catch (Exception e) {
  9.            //Where is my motivation? No time for the motivation!... Que pereza...
  10.        }
  11.    }
  12. }
  13.  

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

Saludos


Título: Re: Problema con BigDecimal (escribir archivo)
Publicado por: danielo- en 24 Abril 2010, 19:08 pm
mmmm... de echo el bigdecimal es un String, no es asi?....deberias tratar de guardarlo nomas asi

Código
  1. import java.io.*;
  2. import java.math.BigInteger;
  3. public class Prueba {
  4.  
  5.  
  6.  
  7. public static void main(String arg[]){
  8. try{
  9. FileWriter fw=new FileWriter(new File("Resultado.txt"));
  10.  
  11.        BigInteger entero1 = BigInteger.valueOf(452352524);
  12.        BigInteger entero2 = BigInteger.valueOf(424245452);
  13.  
  14.        String texto = ""+entero1.add(entero2);
  15. System.out.println(texto);
  16. pw.println(texto);
  17. pw.close();
  18. }
  19.  
  20. catch(Exception e){
  21. }
  22. }
  23. }
  24.  
  25.  
  26.  


Título: Re: Problema con BigDecimal (escribir archivo)
Publicado por: Debci en 24 Abril 2010, 20:34 pm
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


Título: Re: Problema con BigDecimal (escribir archivo)
Publicado por: Debci en 24 Abril 2010, 20:45 pm
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