Weregoose created a really eloquent routine to convert numbers to fractions. It was available on the routines page on his website, which is unfortunately offline now due to United-TI ceasing its subdomain hosting. The routine is written in such a way as to allow for accuracy with the largest domain of numbers; it even works with really ugly decimal numbers. Hopefully Weregoose will explain the routine in more detail when he sees this post. In any case, here is what the code looks like:
:Ans→A
:{1,0→A
:abs(A→B
:0
:Repeat not(A-Ans‾¹round(AnsA,0
:{Ans,Ansint(B)+LA(1→A
:If fPart(B
:1/fPart(B→B
:max(LA
:End
:round(Ans{A,1

It uses continued fractions, and is not really my most eloquent converter. Let me excerpt what I wrote in the Radicals thread… The following is based on the Euclidean algorithm and has its rare misses, but is also generally fast, powerful, and compact enough to earn my inclination to use it over its precursor.