Como posso converter um número em sua forma em inglês em Perl?
-
26-09-2019 - |
Pergunta
Eu preciso de um script Perl que leva números como exemplo de entrada 222 e deve ser lançado como 222.
Solução
Usar Lingua :: pt :: números - Transforme "407" em "quatrocentos e sete", 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";
impressões:
You have two hundred and thirty-four things to do today!
You will stop caring after the fifty-fourth.
Se você ler o documentação do módulo, então você descobrirá que o módulo também suporta as seguintes coisas como, como,
- Pode suportar Inteiros como "12" ou "-3" e numeros reais Como "53.19".
- Também entende notação exponêncial - transforma "4e9" em "quatro vezes dez para o nono.
- Ele transforma "inf", "-inf", "nan" em "infinito", "infinito negativo" e "não um número", respectivamente.
Outras dicas
Número :: Feitiço pode ajudá -lo:
use Number::Spell;
my $str = spell_number(222);
Aqui está um:
Descrição: Isso basicamente converte um número em palavras. Ele só pode converter números menores ou iguais à quantidade de novembilion. Possui um processo completo de validação de entrada.
Tentar isto. Do autor ...
Você pode usá -lo livremente e modificá -lo como quiser.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow