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;
}