Delphi ile Sayıyı Metine Çevirme Bu fonksiyonu Copy/Paste yaparak kullanabilirsiniz. Fonksiyon geriye String çeviriyor dikkat. Kod:
function Cevir(Val : extended) : String;
const
hanex : array[0..2, '0'..'9'] of String = (
('', 'Bir ', 'İki ', 'Üç ', 'Dört ', 'Beş ', 'Altı ', 'Yedi ', 'Sekiz ', 'Dokuz '),
('', 'On ', 'Yirmi ', 'Otuz ', 'Kırk ', 'Elli ', 'Atmış ', 'Yetmiş ', 'Seksen ', 'Doksan '),
('', 'Yüz ', 'İki Yüz ', 'Üç Yüz ', 'Dört Yüz ', 'Beş Yüz ', 'Altı Yüz ', 'Yedi Yüz ', 'Sekiz Yüz ', 'Dokuz Yüz '));
katx : array[0..5] of String = ('', 'Bin ', 'Milyon ', 'Milyar ', 'Trilyon ', 'Katrilyon ');
var
Kat : Integer;
function _Cevir(sy : String) : String;
var
lsy, hn : Integer;
begin
Result := ''; if sy = '' then Exit;
if (sy = '1') and (kat = 1) then begin Result := 'Bin'; Exit; end;
hn := 0; lsy := length(sy);
while (hn < 3) and (hn < lsy)
do
begin
Result := hanex[hn, sy[lsy - hn]] + Result;
Inc(hn);
end;
Result := Result + katx[kat];
Inc(kat);
if lsy > 3 then Result := _Cevir(copy(sy, 1, lsy - 3)) + Result;
end;
begin
Result := ''; kat := 0;
Result := _Cevir(formatFloat('##0', int(Val)));
end; |