Вычисление процента Java для Android

#java #android #double

#java #Android #двойной

Вопрос:

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

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

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

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

Есть идеи?

Ответ №1:

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

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

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

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