开发者

How can I convert a number to its English form in Perl?

开发者 https://www.devze.com 2023-01-21 19:02 出处:网络
I need a Perl script which takes numbers as input example 222 and it should outpu开发者_运维技巧t as two hundred twenty two.Use Lingua::EN::Numbers - turn \"407\" into \"four hundred and seven\", etc.

I need a Perl script which takes numbers as input example 222 and it should outpu开发者_运维技巧t as two hundred twenty two.


Use Lingua::EN::Numbers - turn "407" into "four hundred and seven", etc.

use Lingua::EN::Numbers qw(num2en num2en_ordinal);

    my $x = 234;
    my $y = 54;
    print "You have ", num2en($x), " things to do today!\n";
    print "You will stop caring after the ", num2en_ordinal($y), ".\n";

prints:

You have two hundred and thirty-four things to do today!
You will stop caring after the fifty-fourth.

If you read the documentation of the module then you will find that the module also support the following things like,

  • It can handle integers like "12" or "-3" and real numbers like "53.19".
  • It also understands exponential notation -- it turns "4E9" into "four times ten to the ninth.
  • It turns "INF", "-INF", "NaN" into "infinity", "negative infinity", and "not a number", respectively.


Number::Spell can help you:

use Number::Spell;
my $str = spell_number(222);


Here is one:

  • Number to Word Converter - Perl Engineering Project Download

Description: This basically converts a number into words. It can only convert numbers less than or equal of novemdecillion quantity. It has a complete input validation process.

0

精彩评论

暂无评论...
验证码 换一张
取 消