Dúvida sobre variáveis float e double

0 respostas
ndiegow

Olá pessoal, estou com dúvidas sobre variavéis do tipo double e float, fiz um programinha básico e achei estranho os dados de saída, o que eu posso estar errando?

O código:
class MeuPrograma
{
 public static void main(String[] args) 
{
 System.out.println ("Agora um teste de loops!!");

  // aqui se inicia o laço 
  for(double f = 1.0; f <= 2.0 ; f = f + 0.1) 
   {
   System.out.println(f);
   }
 //aqui termins o laço
  System.out.println("acabou");
}
}

Mas olha a saída do programa:

C:\javap>java MeuPrograma
Agora um teste de loops!!
1.0
1.1
1.2000000000000002
1.3000000000000003
1.4000000000000004
1.5000000000000004
1.6000000000000005
1.7000000000000006
1.8000000000000007
1.9000000000000008
Acabou

Porque as casas decimais não saem igualadas?
Obrigado!

Criado 30 de outubro de 2007
Respostas 0
Participantes 1