Float retornando inteiro

5 respostas
B

Pessoal, estou com um problema, tenho uma váriavel que me retorna um inteiro, mais deveria retornar 0.190476191.

aux = (float) 16/100/(1-16/100);

Alguém sabe porque está acontecendo isso.

Agradeço desde já.

Beto

5 Respostas

rolemberg

humm…faça da seguinte forma:

aux = (float) 16.0/100/(1-16/100.0);

Além disso como esta declarada sua variavel aux???

B

Rolemberg, a variável está declarada como float: float aux = 0;

agradeço pela dica.

B

Rolemberg, colocando 16.0 ele estáme retornando 0,160000.

B

Rolemberg, aux = (float) (16.0 / 100 / (1 - 16 / 100.0)); está me retornando 0,19476, eu preciso que me retorne 0,19476191. como posso definir a quantidade de casa decimais?

agradeço pela força.

Beto

Andre_Brito

Oi amico.

Dá uma lida no que o pcalcado falou.

http://www.guj.com.br/posts/list/16727.java

Não sei se funciona… na verdade, não consegui fazer funcionar…

Então voltei eu velho printf e fiz o seguinte código

public class GrandesFloats
{
        public static void main(String[] args) {
                float aux = (float) 0.0;

                aux = (float) (16.0 / 100 / (1 - 16 / 100.0));

                System.out.printf("%.9f\n", aux);
        }
}

Bom, resultado foi outro: 0,190476194

Quando eu uso isso

System.out.printf("%.9f\n", aux);

eu quero imprimir 9 casas decimais. Se colocar 10, imprime 10, se colocar 20, imprime 20.

Abraço.

Criado 25 de janeiro de 2008
Ultima resposta 26 de jan. de 2008
Respostas 5
Participantes 3