Java - Rarezas del parseFloat y parseDouble

 
Vista:
sin imagen de perfil

Rarezas del parseFloat y parseDouble

Publicado por sebotta (18 intervenciones) el 17/07/2018 17:25:49
Hola a todos, Estoy teniendo el siguiente problema, que no es menor, estoy teniendo diferencias de centavos en un sistema, cuando analizo el problema me encuentro que es debido a la conversión a Float hice la siguiente prueba que me dejo muy preocupado:

float a = Float.parseFloat("154721.49");
double b = Double.parseDouble("154721.49");

System.out.println(a);
System.out.println(b);

el resultado fue:

154721.48
154721.49

Aparentemente es un error aleatorio (antes no me había sucedido....creo!?)

Estas pruebas fueron realizadas en dos maquinas con SO Linux.

A alguien le había sucedido esto? Esto sucede solo en Float o tambien sucede en Double? Hay notas al respecto?

Desde ya muchas gracias!
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
sin imagen de perfil

Rarezas del parseFloat y parseDouble

Publicado por sebotta (18 intervenciones) el 17/07/2018 18:44:42
Te agradezco Tom por tu rápida contestación, si entiendo el tema de la precisión, pero no sabia que la precisión era 7 dígitos y el 8 ya lo aproximaba, aun en un pasaje de texto a float (tiene menos precisión que la calculadora que usaba en los años 80, jaja)
Si eso lo hubiese hecho después de una operación cualquiera... es entendible.
Nuevamente muchas gracias.
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