MRMCD12 deutsche zahlen by p2k

-module(d).
-export([m/0]).
-define(A(X),lists:nth(X-$0,string:tokens("ein zwei drei vier fuenf sechs sieben acht neun zehn elf zwoelf"," "))).
-define(B(X),lists:nth(X-$1,string:tokens("zwanzig dreissig vierzig fuenfzig sechzig siebzig achzig neunzig"," "))).
m()->io:put_chars(m(io:get_line([]))).
m("0")->"null";m(X)->n(X).
n([A,B,C,D])->[?A(A),"tausend"|n([B,C,D])];n([$0,B,C])->n([B,C]);n([A,B,C])->[?A(A),"hundert"|n([B,C])];n([$0,B])->n([B]);n([$1,B])->if B<$3->?A(B+10);B>0->[?A(B),?A($:)]end;n([A,B])->[if B>$0->[?A(B),"und"];B<$1->[]end,?B(A)];n("0")->[];n("1")->"eins";n([A])->?A(A).

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page