2011-05-09 15 views
7

no puedo averiguar lo que está mal con este código ... Estoy tratando de calcular un porcentaje:Android Java cálculo porcentual

Estoy seguro de que Npage Boath y númpáginas son mayores que cero (comprobado en el inspector de variables de depuración del emulador), pero el cCom resultante siempre es 0:

Double cCom=(double)(npage/numpages); 

tpercent.setText("("+cCom.toString()+"%)"); 

¿Alguna idea?

Respuesta

23

Si npage y numpages son ambos enteros, Java redondeará (npage/numpages) a un entero (es decir, 0). Para hacer Java hacer con la división de dobles, lo que necesita para emitir uno de los números a un doble, así:

Double cCom = ((double)npage/numpages); 

De hecho, ya se está trabajando con un porcentaje, es probable que desee:

Double cCom = ((double)npage/numpages) * 100; 
+0

¡Hola, probado y funcionando! ¡Gracias! – pmc