Нужна функция которая принимает float и возвращает string в виде дроби 1/3 и тому подобные
Например: func(0.5) = 1/2
Было пару идей, но кажется можно сделать в разы проще и "умнее" Подскажите как лучше всего это реализовать?
public class Fraction {
private static final double ratio = 0.01;
public static String get(double val) {
for (int i = 1;; i++) {
double tem = val / (1D / i);
if (Math.abs(tem - Math.round(tem)) < ratio)
return Math.round(tem) + "/" + i;
}
}
}
или можно не изобретать велосипед и использовать Fraction из Apache Commons Math.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники