Here's another approach:
repeatingForm[x_Rational] := Module[
{realDigits, integerPart, fractionalPart, start, repeat, exp},
integerPart = IntegerPart[x];
fractionalPart = FractionalPart[x];
realDigits = RealDigits[fractionalPart];
Which[
MatchQ[realDigits, {{__Integer, {__Integer}}, _Integer}],
start = Most[First[realDigits]];
repeat = Last[First[realDigits]],
MatchQ[realDigits, {{{__Integer}}, _Integer}],
start = {};
repeat = Last[First[realDigits]],
MatchQ[realDigits, {{__Integer}, _Integer}],
start = First[realDigits];
repeat = {}
];
exp = Last[realDigits];
If[exp < 0,
start = Join[Table[0, {-exp}], start]];
If[Length[repeat] > 0,
Row[Flatten[{N[integerPart], start, OverBar[Row[repeat]]}]],
Row[Flatten[{N[integerPart], start}]]
]
];
Let's try it on Vitaliy's original set of data points. (I guess he deleted this portion.)
data = {98464/3, 2209604/53, 1654407/32, 4695213/44, 2608035/32,
1060220/31, 1254299/54, 3180989/37, 1120269/83, 6084320/73};
repeatingForm /@ data // Column
