Programalama > VISUAL BASIC

Etiketler: sayi, okuma2

Ort. 1
Puan ver:
Public Function SayiOku(ByVal Sayi As String, Optional ByVal Bosluk As Byte) As String
  ' Bu fonksiyon -fatihçopur- tarafından yazılmıştır (Made in Turkiye)
  ' girilen 36 basamaklı sayının okunuşunu döndürür
  Dim Basamak(2) As Byte, Birler As String, Yuzler As String, Boluk As String, UBSayi As String, UBSayiOkunusu As String
  Birler = "     bir  iki  üç   dört beş  altı yedi sekizdokuz"
  Sayi = String$(36 - Len(Left$(Sayi, 36)), "0") & Left$(Sayi, 36)
  For i = 0 To 11
    UBSayi = Mid$(Sayi, 3 * i + 1, 3): UBSayiOkunusu = ""
    If (i <> 10 Or UBSayi <> "001") And UBSayi <> "000" Then
      For j = 0 To 2: Basamak(j) = Val(Mid(UBSayi, j + 1, 1)): Next
      Yuzler = ""
      If Basamak(0) = 1 Then
        Yuzler = Space(Bosluk) & "yüz"
      ElseIf Basamak(0) > 1 Then
        Yuzler = RTrim$(Space(Bosluk) & Mid$(Birler, 5 * Basamak(0) + 1, 5)) & Space(Bosluk) & "yüz"
      End If
      UBSayiOkunusu = Yuzler & RTrim$(Space(Bosluk) & Mid$("      on    yirmi otuz  kırk  elli  altmışyetmişseksendoksan", 6 * Basamak(1) + 1, 6)) & RTrim$(Space(Bosluk) & Mid$(Birler, 5 * Basamak(2) + 1, 5))
    End If
    If UBSayi = "000" Then Boluk = "" Else Boluk = RTrim$(Space(Bosluk) & Mid$("desilyon  nonilyon  oktilyon  septilyon sekstilyonkentilyon katrilyon trilyon   milyar    milyon    bin                 ", 10 * i + 1, 10)) ' sekstilyon yerine hekstilyon da kullanılabilir.
    SayiOku = LTrim$(SayiOku & UBSayiOkunusu & Boluk)
  Next
End Function


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.