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!