NAME
   Lingua::Slavic::Numbers - Converts numeric values into their French
   string equivalents

SYNOPSIS
    # Procedural Style
    use Lingua::FR::Numbers qw(number_to_fr ordinate_to_fr);
    print number_to_fr( 345 );

    my $vingt  = ordinate_to_fr( 20 );
    print "Tintin est reporter au petit $vingt";

    # OO Style
    use Lingua::FR::Numbers;
    my $number = Lingua::FR::Numbers->new( 123 );
    print $number->get_string;
    print $number->get_ordinate;

    my $other_number = Lingua::FR::Numbers->new;
    $other_number->parse( 7340 );
    $french_string = $other_number->get_string;

DESCRIPTION
   This module converts a number into a French cardinal or ordinal. It
   supports decimal numbers, but this feature is experimental.

   The interface tries to conform to the one defined in
   Lingua::EN::Number, though this module does not provide any parse()
   method. Also, unlike Lingua::En::Numbers, you can use this module in
   a procedural manner by importing the number_to_fr() function.

   If you plan to use this module with greater numbers (>10e20), you
   can use the Math::BigInt module:

    use Math::BigInt;
    use Lingua::FR::Numbers qw( number_to_fr );

    my $big_num = new Math::BigInt '1.23e68';
    print number_to_fr($big_num);
    # cent vingt-trois quintillions de sextillions

   This module should output strings for numbers up to, but not
   including, 1e75, but due to a lack of documentation in French
   grammar, it can only reliably output strings for numbers lower than
   1e51. For example, 1e72 is 'un sextillion de sextillion', but I am
   unable to say 1e51 or 1e69, at least for now.

 VARIABLES
FUNCTION-ORIENTED INTERFACE
 number_to_fr( $number )
    use Lingua::FR::Numbers qw(number_to_fr);
    my $depth = number_to_fr( 20_000 );
    my $year  = number_to_fr( 1870 );
    print "Jules Vernes �crivit _$depth lieues sous les mers_ en $year.";

   This function can be exported by the module.

 ordinate_to_fr( $number )
    use Lingua::FR::Numbers qw(ordinate_to_fr);
    my $twenty  = ordinate_to_fr( 20 );
    print "Tintin est reporter au petit $twenty";

   This function can be exported by the module.

OBJECT-ORIENTED INTERFACE
 new( [ $number ] )
    my $start = Lingua::FR::Numbers->new( 500 );
    my $end   = Lingua::FR::Numbers->new( 3000 );
    print "Nous part�mes ", $start->get_string,
          "; mais par un prompt renfort\n",
          "Nous nous v�mes ", $end->get_string," en arrivant au port"

   Creates and initializes a new instance of an object.

 parse( $number )
   Initializes (or reinitializes) the instance.

 get_string()
    my $string = $number->get_string;

   Returns the number as a formatted string in French, lowercased.

 get_ordinate()
    my $string = $number->get_ordinate;

   Returns the ordinal representation of the number as a formatted
   string in French, lowercased.

DIAGNOSTICS
   Invalid number format: '$number'
       (W) The number specified is not in a valid numeric format.

   Number '$number' too big to be represented as string
       (W) The number is too big to be converted into a string. Numbers
           must be lower than 1e75-1.

SOURCE
   *Le fran�ais correct - Maurice GREVISSE*

   *D�cret n� 61-501 du 3 mai 1961. relatif aux unit�s de mesure et au
   contr�le des instruments de mesure.* -
   http://www.adminet.com/jo/dec61-501.html

BUGS
   Though the module should be able to convert big numbers (up to
   10**36), I do not know how Perl handles them.

   Please report any bugs or comments using the Request Tracker
   interface:
   https://rt.cpan.org/NoAuth/Bugs.html?Dist=Lingua-FR-Numbers

COPYRIGHT
   Copyright 2002, Briac Pilpr�. All Rights Reserved. This module can
   be redistributed under the same terms as Perl itself.

AUTHOR
   Briac Pilpr� <[email protected]>

SEE ALSO
   Lingua::EN::Numbers, Lingua::Word2Num