如何在Perl中将数字转换为英文形式?

时间:2010-10-26 07:04:58

标签: perl numbers cpan perl-module

我需要一个Perl脚本,它将数字作为输入示例222 它应输出为二百二十二

4 个答案:

答案 0 :(得分:15)

使用 Lingua::EN::Numbers - 将“407”变成“四百七十”等等。

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";

打印:

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

如果您阅读了模块的文档,那么您会发现该模块还支持以下内容:

  • 它可以处理整数,如“12”或“-3”和实数,如“53.19”。
  • 它也理解指数符号 - 它将“4E9”变为“四次十到九次。”
  • 分别将“INF”,“ - INF”,“NaN”变为“无穷大”,“负无穷大”和“非数字”。

答案 1 :(得分:9)

Number::Spell可以帮助您:

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

答案 2 :(得分:-1)

这是一个:

  

描述:这基本上转换了一个   数字化。它只能转换   数字小于或等于   novemdecillion数量。它有一个   完整的输入验证过程。

答案 3 :(得分:-2)

试试this。来自作者...

您可以随意使用它并根据需要进行修改。