![]() |
![]()
| ![]() |
![]()
NAMELingua::EN::Numbers::Ordinate -- go from cardinal number (3) to ordinal ("3rd") SYNOPSISuse Lingua::EN::Numbers::Ordinate; print ordinate(4), "\n"; # prints 4th print ordinate(-342), "\n"; # prints -342nd # Example of actual use: ... for(my $i = 0; $i < @records; $i++) { unless(is_valid($record[$i]) { warn "The ", ordinate($i), " record is invalid!\n"; next; } ... } DESCRIPTIONThere are two kinds of numbers in English -- cardinals (1, 2, 3...), and ordinals (1st, 2nd, 3rd...). This library provides functions for giving the ordinal form of a number, given its cardinal value. FUNCTIONS
The above functions are all prototyped to take a scalar value, so ordinate(@stuff) is the same as "ordinate(scalar @stuff)". CAVEATS* Note that this library knows only about numbers, not number-words. ordinate('seven') might just as well be ordinate('superglue') or ordinate("\x1E\x9A") -- you'll get the fallthru case of the input string plus "th". * As is unavoidable, ordinate(0256) returns "174th" (because ordinate sees the value 174). Similarly, ordinate(1E12) returns "1000000000000th". Returning "trillionth" would be nice, but that's an awfully atypical case. * Note that this library's algorithm (as well as the basic concept and implementation of ordinal numbers) is totally language specific. To pick a trivial example, consider that in French, 1 ordinates as "1ier", whereas 41 ordinates as "41ieme". SEE ALSOLingua::EN::Inflect provides an "ORD" function, which returns the ordinal form of a cardinal number. Lingua::EN::Number::IsOrdinal provides an "is_ordinal" function, which returns true if passed an ordinal number. Lingua::EN::Numbers provides function num2en_ordinal() which will take a number and return the ordinal as a word. So 3 will result in "third". REPOSITORY<https://github.com/neilb/Lingua-EN-Numbers-Ordinate> COPYRIGHTCopyright (c) 2000 Sean M. Burke. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHORSean M. Burke "sburke@cpan.org" This has been maintained by Neil Bowers (NEILB) since 2014.
|