I am trying to use a progress dialog to show how long until 2 time intensive functions are done.
in my first function I have the total number to db entries and a counter
You should either cast, or use the double type for counter
and entries
. I assume you're using ints currently, and as ints go, 3/36=0, and of course 0*100 is still 0.
Also, note that if you always divide total by 2, then you will never get to 100%, you will range between 0% and 50%.
If counter
and dbEntries
are both integers then it is likely performing integer division in the parenthesis of your first expression. 3 div 36 = 0
.
Try changing it to something like this:
double total = 100.0 * counter / dbEntries;
or
double total = (1.0 * counter / dbEntries) * 100.0;
Note: use 100.0
and not 100
so as floating point calculations are done.