Android Java расчет процентов - PullRequest
8 голосов
/ 10 мая 2011

Я не могу понять, что не так с этим кодом ... Я пытаюсь рассчитать процент:

Я уверен, что boath npage и numpages больше нуля (проверил это в инспекторе отладочных переменных эмулятора), но в результате cCom всегда равно 0:

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

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

Есть идеи?

1 Ответ

25 голосов
/ 10 мая 2011

Если npage и numpages оба являются целыми числами, то Java округляется (npage / numpages) до целого числа (т. Е. 0).Чтобы заставить Java выполнять деление с двойными числами, вам нужно привести одно из чисел к двойному, например:

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

Фактически, поскольку вы работаете с процентами, вы, вероятно, захотите:

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