Lingua-TR-Numbers
view release on metacpan or search on metacpan
lib/Lingua/TR/Numbers.pm view on Meta::CPAN
return $end.$letter.$val;
}->();
return "$x$end";
}
sub num2tr {
my $x = shift;
return unless defined $x and length $x;
return 'sayı-deÄil' if $x eq 'NaN';
return 'eksi sonsuz' if $x =~ m/ \A \+ inf(?:inity)? \z /xmsi;
return 'artı sonsuz' if $x =~ m/ \A \- inf(?:inity)? \z /xmsi;
return 'sonsuz' if $x =~ m/ \A inf(?:inity)? \z /xmsi;
return $D{$x} if exists $D{$x}; # the most common cases
# Make sure it's not in scientific notation:
{ my $e = _e2tr($x); return $e if defined $e; }
my $orig = $x;
lib/Lingua/TR/Numbers.pm view on Meta::CPAN
Lingua::TR::Numbers turns numbers into Turkish text. It exports
(upon request) two functions, C<num2tr> and C<num2tr_ordinal>.
Each takes a scalar value and returns a scalar value. The return
value is the Turkish text expressing that number; or if what you
provided wasn't a number, then they return undef.
This module can handle integers like "12" or "-3" and real numbers like "53.19".
This module also understands exponential notation -- it turns "4E9" into
"dört çarpı 10 üzeri dokuz"). And it even turns "INF", "-INF", "NaN"
into "sonsuz", "eksi sonsuz" and "sayı-deÄil" respectively.
Any commas in the input numbers are ignored.
=head1 NAME
Lingua::TR::Numbers - Converts numbers into Turkish text.
=head1 FUNCTIONS
lib/Lingua/TR/NumbersTR.pod view on Meta::CPAN
Lingua::TR::Numbers, sayıları türkçe okunuÅlarına çevirir. (İstenmesi halinde)
adboÅluÄunuza iki adet fonksiyon ihraceder: C<num2tr> ve C<num2tr_ordinal>.
Bu fonksiyonlardan dönen deÄer; belirtilen sayının türkçe okunuÅu
veya belirtilen deÄerin sayı olmaması durumunda C<undef> tir.
Modül, "12" veya "-3" gibi tam sayılar ile "53.19" gibi gerçel sayılar
üzerinde çalıÅabilir.
Modülü, üstel gösterimi de anlayabilir. "4E9" deÄeri, "dört çarpı 10 üzeri dokuz"
deÄerine dönüÅtürülecektir. Ayrıca, "INF", "-INF", "NaN" deÄerleride sırasıyla:
"sonsuz", "negatif sonsuz" and "sayı-deÄil" deÄerlerine dönüÅtürülür.
Girilen verideki herhangi bir virgül iÅareti yok sayılacaktır.
=head1 FONKSİYONLAR
Modülün fonksiyonlarını teker teker veya özel C<:all> etiketi ile,
ithal edebilirsiniz:
use Lingua::TR::Numbers qw(num2tr num2tr_ordinal);
( run in 0.367 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )