Rakamı yazıya çevirme

Sayı Giriniz

Bu sayfamızdaki pratik araç ile rakam ile yazılmış uzun sayıları kolayca yazı ile nasıl yazıldığını görebilirsiniz. Örnek olarak göstermek gerekirse.

 

Sayı giriniz bölümüne 15522115552111515122 yazıyoruz. Ne kadar uzun bir sayı değil mi :) Hesapla dediğimizde ON BEŞ SEKSİLYON BEŞ YÜZ YİRMİ İKİ KENTİLYON YÜZ ON BEŞ KATRİLYON BEŞ YÜZ ELLİ İKİ TRİLYON YÜZ ON BİR MİLYAR BEŞ YÜZ ON BEŞ MİLYON YÜZ YİRMİ İKİ BİN yazdığını göreceksiniz.

 

Eğer aynı işlemi excel de yapmak istiyorsanız aşağıdaki modülü kullanabilirsiniz. RakamiYaziya fonksiyonunu kullanarak her hangi bir hücredeki rakamsal değeri yazı ile yazdırabilirsiniz.

 

Public Function RakamiYaziya(Para) 
    Dim ParaStr As String 
    Dim Lira As String, Kurus As String 
    
    If Not IsNumeric(Para) Then GoTo SayiDegil 
    
    ParaStr = Format(Abs(Para), "0.00") 
    
    Lira = Left(ParaStr, Len(ParaStr) - 3) 
    Kurus = Right(ParaStr, 2) 
    
    ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " Lira " & Cevir(Kurus) & " Kuruş" 
    
    Exit Function 
    
SayiDegil: 
    RakamiYaziya= "GİRİLEN DEÐER SAYI DEÐİL!" 
End Function 

Private Function Cevir(SayiStr As String) As String 
    Dim Rakam(15) 
    Dim c(3), Sonuc, e 
    
    Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz") 
    Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan") 
    Binler = Array("trilyon", "milyar", "milyon", "bin", "") 
    
    SayiStr = String(15 - Len(SayiStr), "0") + SayiStr 
    
    For i = 1 To 15 
      Rakam(i) = Val(Mid$(SayiStr, i, 1)) 
    Next i 
    
    Sonuc = "" 
    For i = 0 To 4 
      c(1) = Rakam(i * 3 + 1) 
      c(2) = Rakam(i * 3 + 2) 
      c(3) = Rakam(i * 3 + 3) 
      If c(1) = 0 Then 
        e = "" 
      ElseIf c(1) = 1 Then 
        e = "yüz" 
      Else 
        e = Birler(c(1)) + "yüz" 
      End If 
      e = e + Onlar(c(2)) + Birler(c(3)) 
      If e <> "" Then e = e + Binler(i) 
      If (i = 3) And (e = "birbin") Then e = "bin" 
      Sonuc = Sonuc + e 
    Next i 

    If Sonuc = "" Then Sonuc = "Sıfır" 
    
    Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1) 
End Function
Konu ile İlgili Benzer Aramalar
  • rakamı yazıya çevirme programı ile c# da yazılmış şekilde çevirme işlemi yapabilirsiniz