Я предполагаю, что currentSize
и totalSize
являются int
.
currentSize = 4079;
totalSize = 500802;
Если они есть, то currentSize/totalSize
представляет собой целое деление. Результат не будет иметь дробной части (дробная часть удалена, не округляется). Поэтому результатом является 0
.
Если один из операндов удваивается, результат деления будет иметь фракцию. Поэтому я заставляю один целочисленный операнд удваивать.
(double) currentSize
После расчета, если вы хотите, чтобы результат хранить в int
, вы должны бросить (преобразовать двойной в целое, удалить дробную часть).
int percentage = (int) ((double) currentSize ...
Весь код:
int currentSize = 3;
int totalSize = 100;
int percentage = (int) ((double) currentSize/totalSize * 100);
System.out.println(percentage);
Lemme догадка: '' currentSize' и totalSize' являются целыми числами ... – Mysticial
@Mysticial Да, это было время так как я программировал на Java, и я знаю, что это будет очень глупо. EDIT: О, боже мой. Вау. Он должен быть десятичным, не так ли? –
Я хочу начать составлять синтаксис в ответах, например «Просто используйте' currentSize.0/totalSize.0' ». –