pq quando eu faço isso
[code]
qtdBrinde->5
qtdBrinde->6
double desconto = (qtdBrinde * 100) / qtdProduto;
[code]
isso da 83
quando na verdade era pra dar 83.33
essa é besta pessoal , alguem me ajude ae !!!
pq quando eu faço isso
[code]
qtdBrinde->5
qtdBrinde->6
double desconto = (qtdBrinde * 100) / qtdProduto;
[code]
isso da 83
quando na verdade era pra dar 83.33
essa é besta pessoal , alguem me ajude ae !!!
gtdBrinde e qtdProduto são double ou int? Se forem int vai arredondar mesmo.
Tenta fazer assim, dando um cast.
double desconto = ( (double) qtdBrinde ) * 100 / ( ( double ) qtdProduto );
era so isso mesmo o problema, vlw ae!!!
na verdade eu to querendo pegar a percentagem de um valor para o outro !!!
é assim mesmo ne 
ou vocês fazem de outra forma ?
tipo tenho
5 itens
6 itens total
quanto falta para o total em percentagens 
Declare suas variáveis como double então. Ou senão faça um cast para double, como foi sugerido.
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.
Exemplo:
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 coisa que o Java herdou do C (e que acho confusa até hoje) é que “/” pode representar a divisão inteira, se ambos os operandos forem inteiros, ou a divisão de ponto-flutuante, se pelo menos um dos operandos for de ponto-flutuante.
É por isso que 4 / 3 dá 1, e 4.0 / 3 dá 1.33333…
Em Pascal (Delphi) existe o operador “div” para divisão inteira, e “/” para ponto-flutuante.
Em VB (argh) existe o operador “” para divisão inteira, e “/” para ponto-flutuante.
Faz trocentos anos que não uso Fortran (20 para ser mais exato), então não sei se o operador “/” do Fortran se comporta como o do C ou do Pascal.
cara,
percentagem seria
(quantidade que eu tenho / total )* 100
ne isso ?
isso mesmo sudeval, só que pra saber a porcentagem que falta do total tinha que subtrair por 100 né como vc falou.
Ex: 100 - ((quantidade que eu tenho / total )* 100)
t+
Cara, se vc quiser o resultado como double sem fazer um monte de cast (deixa o codigo meio feio…), basta fazer o seguinte
double desconto = (qtdBrinde * 100.0) / qtdProduto;
note o 100.0… quando vc coloca um double no meio da equacao, ele calcula tudo como double.