-1

I'm trying to display a percentage in a TextView with the following code:

int votedTotal_int = pollObject.getList("votedBy").size();
System.out.println("Total votes cast: " + Integer.toString(votedTotal_int));

int value1_int = pollObject.getList("value1Array").size();
double value1_pct = ((value1_int / votedTotal_int) * 100);
String value1_string = String.valueOf(value1_pct);
holder.value1.setText(value1_string + " %");
System.out.println(holder.value1.getText().toString() + " votes");

Given that value1_int is 1, and votedTotal_int is 4, shouldn't the print out read 25.0%? So why am I getting the following?

07-24 16:48:21.626 13321-13321/com.test.android I/System.out: Total votes cast: 4
07-24 16:48:21.626 13321-13321/com.test.android I/System.out: 0.0 % votes
07-24 16:48:21.626 13321-13321/com.test.android I/System.out: 0.0 % votes
07-24 16:48:21.626 13321-13321/com.test.android I/System.out: 0.0 % votes
07-24 16:48:21.626 13321-13321/com.test.android I/System.out: 0.0 % votes
JRG
  • 3,677
  • 3
  • 17
  • 32
Martin Erlic
  • 4,691
  • 10
  • 63
  • 123

2 Answers2

0
double value1_pct = (((double)value1_int * 100) / (double)votedTotal_int);
Gutyn
  • 432
  • 4
  • 19
-1

Change the below ..

double value1_pct = ((value1_int / votedTotal_int) * 100);

to

double value = (((double)value1_int * 100) / ((double)votedTotal_int));

Sample Run with value1_int=1 and votedTotal_int=1000 or 10000 or 100000

07-24 17:09:13.904 3491-3491/? D/TEST: 0.1
07-24 17:09:30.688 3589-3589/? D/TEST: 0.01
07-24 17:09:45.366 3685-3685/? D/TEST: 0.001
JRG
  • 3,677
  • 3
  • 17
  • 32