Android — Отображение десятичной дроби в формате дроби (и наоборот)

#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).