Mega Code Archive

 
Categories / Delphi / System
 

Rakamlari ingilizce olarak yaziya ceviren program

// // Rakamlari ingilizce olarak yaziya ceviren program. // Const YirmidenKucukler : Array[1..19] Of String=('one','two','three','four','five','six','seven','eight','nine', 'ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'); Onluklar : Array[1..9] Of String=('ten','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety'); HataMesaji = 'sayisi cevrim limitlerinin disinda.'; EnKucuk = 1.00; EnBuyuk = 4294967295.99; Function SayiAdiniBul(N: LongWord): string; Begin Case N of 1..19 : Result:=YirmidenKucukler[N]; 20..99 : Result:=Onluklar[N Div 10]+' '+SayiAdiniBul(N Mod 10); 100..999 : Result:=YirmidenKucukler[N Div 100]+' hundred '+SayiAdiniBul(N Mod 100); 1000..999999 : Result:=SayiAdiniBul(N Div 1000)+' thousand '+SayiAdiniBul(N Mod 1000); 1000000..999999999 : Result:=SayiAdiniBul(N Div 1000000)+' million '+SayiAdiniBul(N Mod 1000000); 1000000000..4294967295 : Result:=SayiAdiniBul(N Div 1000000000)+' billion '+SayiAdiniBul(N Mod 1000000000); End; End; Function SayiOku(Sayi : Real): String; Begin If (Sayi>=EnKucuk) And (Sayi<=EnBuyuk) Then Begin Result:=SayiAdiniBul(Round(Int(Sayi))); If Not(Frac(Sayi)=0.00) Then Result:=Result+' and '+IntToStr(Round(Frac(Sayi)*100))+'/100'; End Else Raise ERangeError.CreateFmt('%g '+HataMesaji+' %g..%g',[Sayi,EnKucuk,EnBuyuk]); End; // // Kolay gelsin. // // Hakan HAMURCU // // hamurcu@delphiturk.com //