1
resposta

Não consigo fazer essa conta

Bom dia pessoal,

Porque o resultado da conta abaixo está dando 0.0?

double result = 60 / (15 * 10);
1 resposta

Olá, tudo bem?

Isso chama-se, em Java, de promoção matemática, ou seja, se fizer calculos com variáveis do tipo int, o resultado será um int. Se misturar os tipos primitivos, as variáveis serão “promovidas” para o tipo maior.

O fato do resultado ser int devido a promoção matemática automaticamente cortou o ponto decimal dele transformado 0.4 -> 0

Outros exemplos:

int a = 1;
int b = 2;
double c = a / b; // resultado = 0

int x = 1;
float y = 2;
double z = x / y; // resultado = 0.5, pois “x” é promovida para float

Uma das soluções para sua operação matemática é dar casting nas variáveis para double.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Uma segunda abordagem definir os tipos dos valores antecipadamente para double evitando a necessidade de conversão. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ambas chegarão ao mesmo resultado de : 0.4

Insira aqui a descrição dessa imagem para ajudar na acessibilidade