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
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
humm…faça da seguinte forma:
aux = (float) 16.0/100/(1-16/100.0);
Além disso como esta declarada sua variavel aux???
Rolemberg, a variável está declarada como float: float aux = 0;
agradeço pela dica.
Rolemberg, colocando 16.0 ele estáme retornando 0,160000.
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
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.