Unicode имеет набор символов, которые позволят вам создавать дроби без необходимости специального форматирования, например, ⁴⁄₉ или ⁵⁶⁄₁₀₀.
Вы можете установить массив цифр верхнего индекса и массив цифр нижнего индекса, преобразовать ваши числа в строки этих цифр, а затем объединить их с косой чертой между ними.
Преимущества в том, что он более общий (вы можете использовать код в других контекстах), и результат будет выглядеть лучше, чем если бы вы попытались воспроизвести его с использованием форматирования HTML. Конечно, вам нужно иметь шрифты Unicode в вашей системе, но большинство систем делают это в наши дни.
Возможная реализация в коде:
public String diagonalFraction(int numerator, int denominator) {
char numeratorDigits[] = new char[]{
'\u2070','\u00B9','\u00B2','\u00B3','\u2074',
'\u2075','\u2076','\u2077','\u2078','\u2079'};
char denominatorDigits[] = new char[]{
'\u2080','\u2081','\u2082','\u2083','\u2084',
'\u2085','\u2086','\u2087','\u2088','\u2089'};
char fractionSlash = '\u2044';
String numeratorStr = new String();
while(numerator > 0){
numeratorStr = numeratorDigits[numerator % 10] + numeratorStr;
numerator = numerator / 10;
}
String denominatorStr = new String();
while(denominator > 0){
denominatorStr = denominatorDigits[denominator % 10] + denominatorStr;
denominator = denominator / 10;
}
return numeratorStr + fractionSlash + denominatorStr;
}