No me suman bien los float ni los double!!!

Sebas
25 de Abril del 2005
Hola, me está pasando una cosa tela de rara. Sumo dos variables double, una vale 2.3 y la otra vale 2.4, el resultado lo guardo en otra variable double y lo que guarda (que debería ser 4.7) es 4.69999999999

¿Alguien sabe por qué puede estar pasando esto? ¿os ha pasado alguna vez a alguno de vosotros?

Muchas gracias!!!!

Estoyaqui
25 de Abril del 2005
Esto es normal y si que me ha pasado en algún programa que hice, creo que para que no pase esto debes declarar la variable como float, pero la debes declarar así: float var = 0.0f;

de nada, por las gracias

Sebas
25 de Abril del 2005
Ufff, ojalá fuera como tú dices pero lo he intentado y nada, sigue pasando. Lo curioso es q ocurre con unos valores pero no con otros, o por lo menos esa es la impresión q me ha dado a mí...

Este es el código q estoy probando:

public class Principal
{

public static void main(String[] args)
{
System.out.println("Suma 5.1+5.2="+(5.1+5.2));
float a=5.1f;
float b=5.2f;

float c=a+b;

System.out.println("Suma double "+a+"+"+b+"="+c);

}
}

Si sumo directamente los literales va bien, pero al sumar dos variables...

Si a vosotros no os ocurre decídmelo, a ver si va a ser algo de mi ordenador....

Gracias de nuevo.