#android #decimal #fractions
#Android #десятичная #дроби
Вопрос:
В Java, предполагая, что у меня есть double
переменная, вызываемая decimal
с присвоенным значением 0.333
, как бы я отобразил это как «правильную» форматированную дробь — с числителем над знаменателем, разделенным прямой линией (в отличие от простого отображения 1/3
)?
Ответ №1:
Редактировать: Одним из решений является использование математической библиотеки Apache Commons, а именно пакета Fractions. Ссылка на документ:
Дробное число может быть построено из двух целых аргументов, представляющих числитель и знаменатель, или из двойного, который будет аппроксимирован:
Fraction f = new Fraction(1, 3); // 1 / 3
Fraction g = new Fraction(0.25); // 1 / 4
Итак, все, что вам нужно сделать после этого, это отобразить ее, простой способ сделать это с помощью android.text.Html-метод из HTML(источник строки, флаги int) с тегами верхнего и нижнего индексов. Обратите внимание, что это было добавлено на уровне API 24 и изменено из HTTML (String source).