Re: Displaying Mixed Numbers

*To*: mathgroup at smc.vnet.net*Subject*: [mg25144] Re: Displaying Mixed Numbers*From*: paulh at wolfram.com (P.J. Hinton)*Date*: Sun, 10 Sep 2000 21:25:39 -0400 (EDT)*Organization*: "Wolfram Research, Inc."*References*: <8pfdta$cuu@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

In article <8pfdta$cuu at smc.vnet.net>, Jim Graber <jgraber at my-deja.com> writes: > While working with my third grader, I discovered the need > to make 5/3 display and print as 1 2/3 so she can check her > homework. > > I couldn't find a way to do this easily, so I wrote the following which > does the job. Is there an easier or better way? > Thanks. Jim Graber > > Mix1[x_] := { Quotient[Numerator[x], Denominator[x]], > Mod[Numerator[x], Denominator[x]]/Denominator[x]} > > Mix[x_] := Print[Mix1[x][[1]], Mix1[x][[2]]]; You may want to try adding a special formatting rule for Rational[] when the numerator is greater than the denominator. Unprotect[Rational]; Format[Rational[num_Integer, den_Integer], StandardForm] := DisplayForm[ RowBox[ { ToString[Quotient[num, den]], FractionBox[ToString[Mod[num, den]], ToString[den]] } ] ] /; num > den Protect[Rational]; -- P.J. Hinton User Interface Programmer paulh at wolfram.com Wolfram Research, Inc. Disclaimer: Opinions expressed herein are those of the author alone.