Math::BigRat

Allows you to use arbitrarily big rationals. Math::BigRat is shipped with the Perl 5.8 source kit.

For example:

#!/usr/local/bin/perl -w use Math::BigRat; my $rat = Math::BigRat->new('2/7');
print $rat->bstr(), "\n";

Math::BigRat implements the following methods.

new

new(value) 

Creates a new Math::BigRat object. You can use all types of input for new(): '3/5', '2/33', '6/9', etc.

denominator

denominator() 

Returns a copy of the denominator as a positive BigInt:

my $rat = Math::BigRat->new('2/7') print $rat->denominator(), "\n"; # Prints 7
numerator

numerator() 

Returns a copy of the numerator as a signed BigInt:

my $rat = Math::BigRat->new('2/7');
print $rat->numerator(), "\n"; # Prints 2
parts

parts() 

Returns a list consisting of a signed numerator and unsigned denominator. Both are BigInts.

my($n, $d) = $rat->parts(); ### Ewwww, rat parts! print "numerator: $n\n";
print "denominator: $d\n";