#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;