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.