Foros del Web » Programación para mayores de 30 ;) » Java »

Java ventajas de utilizar BigDecimal

Estas en el tema de Java ventajas de utilizar BigDecimal en el foro de Java en Foros del Web. Velo tu mismo: Escribe el siguiente código: double unCentavo = 0.01; double suma=unCentavo+unCentavo+unCentavo+unCentavo+unCen tavo+unCentavo; System.out.println(suma); Que se imprime? Si contestaste: 0.06, estas equivocado. Se imprime: ...
  #1 (permalink)  
Antiguo 12/07/2013, 12:15
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Java ventajas de utilizar BigDecimal

Velo tu mismo:
Escribe el siguiente código:

double unCentavo = 0.01;
double suma=unCentavo+unCentavo+unCentavo+unCentavo+unCen tavo+unCentavo;
System.out.println(suma);


Que se imprime? Si contestaste: 0.06, estas equivocado.

Se imprime: 0.060000000000000005

Ahora escribe:

java.math.BigDecimal unCentavo = new java.math.BigDecimal("0.01");
java.math.BigDecimal suma=unCentavo.add(unCentavo).add(unCentavo).add(u nCentavo).add(unCentavo).add(unCentavo);
System.out.println(suma);


Que imprime? 0.06.
  #2 (permalink)  
Antiguo 17/07/2013, 11:14
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Java ventajas de utilizar BigDecimal

Eso no es una ventaja. Realmente en cuantas aplicaciones necesitas una precisión de 10e-18? eso comparado con el golpe al rendimiento por la creación de objetos es una desventaja en realidad. Cada problema tiene sus requerimientos.
  #3 (permalink)  
Antiguo 17/07/2013, 21:53
 
Fecha de Ingreso: agosto-2009
Ubicación: México, D.F.
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Java ventajas de utilizar BigDecimal

Es una ventaja utilizar BigDecimal
Sobre todo para aplicaciones relacionadas con el área de finanzas

Saludos
  #4 (permalink)  
Antiguo 18/07/2013, 00:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Java ventajas de utilizar BigDecimal

No es una ventaja, es una clase que se creó con una utilidad en concreto. Sería como decir que utilizar un long en vez de int es una ventaja porque admite números más grandes. Cada tipo de dato tiene su uso.

El problema es que la mayor parte de la gente no entiende cómo guarda la información un double, así que cuando descubren los "problemas" de precisión, piensan que utilizar double hará que sus cálculos sean erróneos.

Cuando se necesita una precisión extrema, siempre hay que comprobar las cosas y entender como funciona

http://exceltotal.com/errores-de-precision-en-excel/


Curiosidades de la informática, el famoso bug de excel 2007.

http://www.microsiervos.com/archivo/...xcel-2007.html

y su explicación

http://www.joelonsoftware.com/items/2007/09/26b.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: ventajas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:40.