Stephen wrote:
I found how it works, and it doesn't put it into a mixed number. I work on
it this week and see if I can't fix it. Thanks for all the help people!
----- Original Message -----
From: "Andrew Brampton" <[EMAIL PROTECTED]>
To: "Stephen" <[EMAIL PROTECTED]>
Sent: Monday, December 09, 2002 7:17 PM
Subject: Re: [PHP] Fractions
how about you try it to see what happens, and maybe learn how it works
Andrew
----- Original Message -----
From: "Stephen" <[EMAIL PROTECTED]>
To: "Andrew Brampton" <[EMAIL PROTECTED]>
Cc: "PHP List" <[EMAIL PROTECTED]>
Sent: Tuesday, December 10, 2002 12:11 AM
Subject: Re: [PHP] Fractions
Would this also print out as a mixed number if it should?
----- Original Message -----
From: "Andrew Brampton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, December 09, 2002 6:44 PM
Subject: Re: [PHP] Fractions
Well how would you do it on paper?
$numerator = 8;
$denominator = 12;
$factor = 1;
//Start at the greater of the 2, and loop down til you find a common
factor
for ($i=max($numerator,$denominator);$i>1;$i--) {
//Check if each number divided by $i has no remainder
if (($numerator % $i) == 0 && ($denominator % $i) == 0) {
//Factor Found
$factor = $i;
break;
}
}
//Now a factor is found, divide by it
$numerator = $numerator / $factor;
$denominator = $denominator / $factor;
echo $numerator . '/' . $denominator;
The method might look like the above
Andrew
----- Original Message -----
From: "Stephen" <[EMAIL PROTECTED]>
To: "Ray Hunter" <[EMAIL PROTECTED]>
Cc: "PHP List" <[EMAIL PROTECTED]>
Sent: Monday, December 09, 2002 11:20 PM
Subject: Re: [PHP] Fractions
But how do you find it in PHP?
----- Original Message -----
From: "Ray Hunter" <[EMAIL PROTECTED]>
To: "Stephen" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, December 09, 2002 6:12 PM
Subject: Re: [PHP] Fractions
Just like math...find the greatest common denominator of the
numerator
and denominator and then divide each (numerator and denominator)
by
that
number...
ie: numerator = 8 and denominator = 12
so we have 8/12
then greatest common denominator is 4...
so 8/4 = 2 and 12/4 = 3
thus, 8/12 => 2/3
On Mon, 2002-12-09 at 15:55, Stephen wrote:
I know for a fact that you're all going to think, "What the heck
does
he want fractions for!?" I have a reason...I just won't tell
you.
:-P
My problem is this. I want to simplify a fraction to simplest
form
but
if I divide, I'll get a decimal which I can't use. How could I
put
it
in simplest form without displaying a decimal to the user and if
one
does come up, a mixed number?
Thanks,
Stephen Craton
http://www.melchior.us
"What is a dreamer that cannot persevere?" --
http://www.melchior.us
______________________________________________________________________
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
Ray Hunter
email: [EMAIL PROTECTED]
www: http://venticon.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
I use this to convert a decimal stored in a table.
function Fraction ($width)
{
list ($whole, $numerator) = explode ('.', $width);
$denominator = 1 . str_repeat (0, strlen ($numerator));
$GCD = GCD ($numerator, $denominator);
$numerator /= $GCD;
$denominator /= $GCD;
If ($numerator==0) {
return sprintf ('%d',$whole);
} else {
return sprintf ('%d %d/%d',
$whole, $numerator, $denominator);
}
}
function GCD ($a, $b)
{
while ( $b != 0)
{
$remainder = $a % $b;
$a = $b;
$b = $remainder;
}
return abs ($a);
}
So...
$width = 64.75;
Fraction($width);
Results:
64 3/4
You can add <sup></sup> and <sub></sub> for added effect.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php