Вы не должны использовать float, если нет необходимости.В 99% случаев лучше выбрать double.
int x = 1111111111;
int y = 10000;
float f = (float) x / y;
double d = (double) x / y;
System.out.println("f= "+f);
System.out.println("d= "+d);
печатает
f= 111111.12
d= 111111.1111
После комментария @ Matt.
float имеет очень небольшую точность (67 цифр) и показывает значительную ошибку округления довольно легко.двойной имеет еще 9 цифр точности.Стоимость использования double вместо float является условной в 99% случаев, однако стоимость незначительной ошибки из-за ошибки округления намного выше.По этой причине многие разработчики рекомендуют вообще не использовать плавающую точку и настоятельно рекомендуют BigDecimal.
Однако я считаю, что в большинстве случаев можно использовать double при условии разумного округления .
В этом случае int x имеет 32-битовая точность, тогда как float имеет 24-битную точность, даже деление на 1 может иметь ошибку округления.double, с другой стороны, имеет 53-битную точность, что более чем достаточно для получения достаточно точного результата.