Mega Code Archive

 
Categories / Delphi / Algorithm Math
 

Sayıyı yazıya çevirir 999 katrilyona kadar

ondalık kısmı dahil yazıya çevirir. ben bunu para birimi olarak düşündüm. tutar : real tipindedir.. kullanım.. sayi :=125,45; rakyazf(sayi,0); // YÜZYİRMİBEŞ.TL / KIRKBEŞ.KR rakyazf(sayi,1); // YÜZYİRMİBEŞ.TL rakyazf(sayi,2); // KIRKBEŞ.KR reis_selim@hotmail.com /// ----------------------------------------------------- /// function rakyazf(tutar:real; tur:integer):string; const b1:ARRAY [1..9] of string = ('BİR','İKİ','ÜÇ','DÖRT','BEŞ','ALTI','YEDİ','SEKİZ','DOKUZ'); b2:ARRAY [1..9] of string = ('ON','YİRMİ','OTUZ','KIRK','ELLİ','ALTMIŞ','YETMİŞ','SEKSEN','DOKSAN'); b3:ARRAY [1..6] of string = ('KATRİLYON','TRİLYON','MİLYAR','MİLYON','BİN',''); var gr:ARRAY [1..6] of string[3]; sn:ARRAY [1..6] of string; bs:ARRAY [1..3] of integer; tutars, tutart, tutark , sonuct, sonuck: string; i,l: integer; begin tutars:=floattostr(tutar); if pos(',',tutars)=0 then tutars:=tutars+',00'; tutart:=copy(tutars,1,(pos(',',tutars)-1)); tutark:=copy(tutars,(pos(',',tutars)+1),2); tutart:=stringofchar('0',(18-(length(trim(tutart))))) + tutart; tutark:=tutark + stringofchar('0',( 2-(length(trim(tutark))))); for i:=1 to 6 do gr[i]:=copy(tutart,1+(3*(i-1)),3); for l:=1 to 6 do begin bs[1]:=strtoint(copy(gr[l],1,1)); if bs[1]<>0 then(if bs[1]<>1 then sn[l]:=sn[l]+b1[bs[1]]+'YÜZ' else sn[l]:=sn[l]+'YÜZ'); bs[2]:=strtoint(copy(gr[l],2,1)); if bs[2]<>0 then sn[l]:=sn[l]+b2[bs[2]]; bs[3]:=strtoint(copy(gr[l],3,1)); if bs[3]<>0 then sn[l]:=sn[l]+b1[bs[3]]; if length(trim(sn[l]))<>0 then sn[l]:=sn[l]+b3[l]; end; if sn[5]='BİRBİN' then sn[5]:='BİN'; for i:=1 to 6 do sonuct:=sonuct+sn[i]; if strtoint(copy(tutark,1,1))<> 0 then sonuck:=sonuck + b2[strtoint(copy(tutark,1,1))]; if strtoint(copy(tutark,2,1))<> 0 then sonuck:=sonuck + b1[strtoint(copy(tutark,2,1))]; if tur=0 then result:=sonuct + '.TL / ' + sonuck + '.KR '; if tur=1 then result:=sonuct + '.TL '; if tur=2 then result:=sonuck + '.KR '; end; /// ----------------------------------------------------- ///