Dúvida de divisão

tenho um problema q parece ser tão simples, mas talvez por isso não consigo achar uma solução. Quero dividir um número por 100, mas o resultado não está dando certo:

double valor = (80 / 100) -> O resultado deveria ser 0,8 mas tá parecendo 0,0

double valor = (100 / 100) -> Quando divido por 100 o resultado sai correto 1,0

Em que estou errando?? Alguém sabe o q pode estar acontecendo?

Desde já agradeço.

Fala rp, cara estranho isso ae heim, fiz uns exemplos aki com int, double, float, mas tudo saiu normal, posta o codigo ae

vlws

Alessandro

Olá.

Vc está fazendo o calculo no “mundo do inteiros”.

80 / 100 = 0.8

O int guarda somente o que esta antes do ponto.

Os valores 80 e 100 devem estar guardados em variaveis do tipo double.

[edit]
double a = 80;
double b = 100;
double c = a / b;

[/edit]

abraço!

Se você precisa de resultados precisos, tenha muito cuidado porque double e float não são tão precisos quanto aparentam ser.

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

Mas acho que nesse seu caso deve ter algum problema em seu c´dogio,posta ele ae.

O problema é que na sua divisão você só está usando inteiros 80 e 100.
Neste caso a divisão só será feita entre inteiros, e atribuída a um double.

Se você quer que efetuar a divisão em double, ao menos um dos operadores da divisão deve ser um double ou deve ser casteado para double.

Agradeço a todos pela colaboração…De fato tive que criar duas variáveis double p poder dividir.

po… ao inves de declara novas variaveis poderia ser usado 80,0 e 100,0…

:stuck_out_tongue: :stuck_out_tongue:

po… ao inves de declara novas variaveis poderia ser usado 80,0 e 100,0…

:stuck_out_tongue: :stuck_out_tongue:

Basta que um seja double, assim:

double d = 80d/100;

Não sei se ajuda, mas:

public class Teste { public static void main(String[] args) { int x = 80; int y = 100; double result = (double)x / y; System.out.println(result); } }

Você não precisa criar duas variáveis double. Basta fazer um cast explícito em uma das duas (ou em ambas se preferir =]) variáveis antes da divisão.

Até. =]