Math.ceil требует float

93
7

Я пытаюсь объединить float с помощью Math.ceil() но он продолжает давать мне ошибку "required: float, found: double". Проблема в том, что все переменные определены как float. Что я могу сделать, чтобы сделать эту работу? строка выглядит так:

perU30F = Math.ceil((under30FY / totalWatchers) * 100);

где perU30F, under30FY и totalWatchers все определены как floats

спросил(а) 2020-04-04T00:58:39+03:00 3 месяца назад
1
Решение
77

Проблема заключается не в вызове Math.ceil - она использует результат. Math.ceil возвращает double, который не может быть неявно преобразован в float. Вы могли бы использовать его, хотя:

perU30F = (float) Math.ceil((under30FY / totalWatchers) * 100);

Или вы могли бы просто использовать double везде вместо float :)

(Math.round имеет перегрузку, которая принимает и возвращает float а Math.ceil - нет.)

ответил(а) 2020-04-04T01:15:07.950496+03:00 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема