MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > Delphi / Kylix > Kodlar

Sayıyı yazıya çeviren fonksiyon

Parametre olarak verilen bir sayıyı yazıya çeviren fonksiyondur.

Kategori : Delphi / Kylix
Gönderen : ytulgar
Telif :
Tarih : 07 Haziran 2006
Örnek Dosya : Bulunmamakta
Okunma Sayısı : 10148
Puan
: 7 / 10 (3 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
Const
  BIRLER            : Array[0..9] Of String = ('', 'Bir', 'İki', 'Üç', 'Dört', 'Beş', 'Altı',
    'Yedi', 'Sekiz', 'Dokuz');
  ONLAR             : Array[0..9] Of String = ('', 'On', 'Yirmi', 'Otuz', 'Kırk', 'Elli', 'Altmış',
    'Yetmis', 'Seksen', 'Doksan');
  DIGER             : Array[0..5] Of String = ('', 'Bin', 'Milyon', 'Milyar', 'Trilyon', 'Katrilyon');

Function uSayiyiYaziyaCevir(Num : Double) : String;

  Function SmallNum(Num : Int64) : String;
  Var
    S               : String[3];
  Begin
    Result := '';
    S := IntToStr(Num);
    If (Length(S) = 1) Then
      S := '00' + S
    Else
      If (Length(S) = 2) Then
        S := '0' + S;
    If S[1] <> '0' Then
      If S[1] <> '1' Then
        Result := BIRLER[StrToInt(S[1])] + 'Yüz'
      Else
        Result := 'Yüz';
    Result := Result + ONLAR[StrToInt(S[2])];
    Result := Result + BIRLER[StrToInt(S[3])];
  End;

Var
  i, j, n, Nm       : Int64;
  S, Sn             : String;

Begin
  S := FormatFloat('0', Num);
  Sn := '';
  If Num = 0 Then
    Sn := 'Sıfır'
  Else
    If Length(S) < 4 Then
      //      Sn := SmallNum(RountNum)
      Sn := SmallNum(Round(Num))
    Else
    Begin
      I := 1;
      J := Length(S) Mod 3;
      If J = 0 Then
      Begin
        J := 3;
        N := Length(S) Div 3 - 1;
      End
      Else
        N := Length(S) Div 3;
      While i < Length(S) Do
      Begin
        Nm := StrToInt(Copy(S, I, J));
        If (Nm = 1) And (N = 1) Then
        Begin
          Nm := 0;
          Sn := Sn + SmallNum(Nm) + Diger[N];
        End;
        If Nm <> 0 Then
          Sn := Sn + SmallNum(Nm) + Diger[N];
        I := I + J;
        J := 3;
        N := N - 1;
      End;
    End;
  Result := Sn;
End;
// örnek
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage( uSayiyiYaziyaCevir(78974642));
end;

end.
 
 

Sayıyı yazıya çeviren fonksiyon için yazılan yorumlar

Henüz yorum eklenmedi.

Yorum ekleyin

Anasayfa > Delphi / Kylix > Kodlar > Sayıyı yazıya çeviren fonksiyon
Kategoriler:


Forum:



Bağlantılar:


En Son Yorumlanan İçerikler:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.227.48.147 | 0,11 Saniye
© Copyright 2004-2018 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.