Nao consigo dividir! help-me

4 respostas
rbroz85

pow nao to entendendo... eu nao concigo resolver isso !!!

private List regule(List lis){
        System.out.println("entrei aki");
        List<Integer> newlist = new ArrayList<Integer>();
        int total = 0;
        int num = 0;
        double n;
        //sum List's total
        for(int i=0;i<listvalues.size();i++){
            total += (int)listvalues.get(i);
        }
        System.out.println("total:"+total);
        
        for(int i=0;i<listvalues.size();i++){
            num = (int)listvalues.get(i);
            n = (double)(num/total)*100;
            System.out.println(num+" / "+total+" * 100 = "+n);
//            newlist.add(n);
        }
        return newlist;
    }

o resultado:

run:
entrei aki
total:2660
400 / 2660 * 100 = 0.0
50 / 2660 * 100 = 0.0
350 / 2660 * 100 = 0.0
200 / 2660 * 100 = 0.0
1000 / 2660 * 100 = 0.0
570 / 2660 * 100 = 0.0
90 / 2660 * 100 = 0.0

pq ta dando zero essa budega?
abraços

4 Respostas

rgf

O resultado dessa divisão num/total é inteiro e só depois você converte para double. Declare total e num como double ou faça

((double) num/ (double)total)

Cabazzo

Cara vc não pode fazer isto: [color=red]n = (double)(num/total)*100; [/color]
já que vc declarou num e total como int, vc primeiro tem que converte-los em double antes de dividir.
Blz?

rbroz85

Ah tinha esquecido desse detalhe…
eu tinha posto isso
(double)(num/total)*100;
ta certo…

agora meu grafico esta funcionando :smiley:

obrigado !!
;*

rbroz85

Blz aí . obrigado…
dei mole mesmo!

abraços

Criado 22 de fevereiro de 2008
Ultima resposta 22 de fev. de 2008
Respostas 4
Participantes 3