Java - float y double

 
Vista:

float y double

Publicado por Clayder (10 intervenciones) el 06/01/2008 23:07:01
Hola:

Al parecer, la siguiente pregunta me la debería haber hecho cuando recien empecé a programar; pero bueno ya estoy aqui y recien me doy cuenta de esto.

Quisiera saber el porqué la salida que me bota las Sgtes. lineas de codigo:

for(float i=0f; i<1f; i+=0.1f)
System.out.println( i );

Salida:

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.70000005
0.8000001
0.9000001

Si el incremento es de 0.1, porque en la 8º iteracion me bota el 0.70000005 y no simplemente el 0.7.

Bueno ya se que double y float son tipos primitivos diferentes, pero me gustaria saber cual es la diferencia exactamente, porque si en lugar de float hubiera puesto double, lo que imprimiria serian otras cosas.

Me gustaria saber cual es la razon de esto ya que en mi programa tengo que hacer comparaciones de decimales y debido a esos incrementos nunca llega a detenerse en mi variable bandera.

Bueno gracias de antemano por la respuesta.

Saludos.
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