Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: english numbers to chinese numbers

by FreeBeerReekingMonk (Deacon)
on May 09, 2017 at 18:18 UTC ( [id://1189935]=note: print w/replies, xml ) Need Help??


in reply to english numbers to chinese numbers

hmm... my comment was lost... I added wàn (1'0000) and shíwàn (10'0000)

I liked it very much, though I saw some discrepancies on the web (I do not know Chinese... just doing it by websites)

This website seems to translate the Chinese characters into something else...

my $number=shift; print "Received Number($number)";

@CN_NUMBERS = qw(零 一 二 三 四 五 六 七 八 九); my %cn_numbers= map {$_ => $CN_NUMBERS[$_]} 0..$#CN_NUMBERS;

my $cn_number; if ($number>=10000){ my $n=$number/10000; $n=~s/\..*//; $cn_number=$cn_numbers{$n}."万"; $number=$number % 10000; } if ($number>=1000){ my $n=$number/1000; $n=~s/\..*//; $cn_number.=$cn_numbers{$n}."千"; $number=$number % 1000; } if ($number>=100){ my $n=$number/100; $n=~s/\..*//; $cn_number.=$cn_numbers{$n}."百"; $number=$number % 100; } if ($number>=10){ my $n=$number/10; $n=~s/\..*//; $cn_number.=$cn_numbers{$n}."十"; $number=$number % 10; } if ($number>0){ $cn_number.=$CN_NUMBERS[$number]; }

print "UNDEFINED" unless(defined $cn_number); $cn_number .= $CN_NUMBERS[0] unless(defined $cn_number); print "!!!!()\n";

# 1,000: 千 (仟) qiān if ($cn_number=~/万/ && $cn_number!~/千/){ $cn_number=~s/万/万零/; }

# 10,000: 万 (萬) wàn (1'0000) if ($cn_number=~/千/ && $cn_number!~/百/){ $cn_number=~s/千/千零/; }

# 100,000: 十万 (萬) shíwàn (10'0000) if ($cn_number=~/百/ && $cn_number!~/十/){ $cn_number=~s/百/百零/; }

$cn_number=~s/一十/十/g; print "$cn_number\n";

edit: used pre and to mask the [] for arrays I used code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1189935]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (1)
As of 2024-04-25 01:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found