Başlangıç > Kodlar > Visual Basic 6 ile Yazıyı sayıya çevirmek

Visual Basic 6 ile Yazıyı sayıya çevirmek


Bir ihtiyaç için hazırladığım bu program umarım birilerinin işine yarar.



Dim Yazi As String
Dim Rakam As Double

Public Function YS(Yazi As String) As Long
On Error GoTo Cikis
Rakam = 0

Seviyeler = Array(1, 1000, 1000000, 1000000000, 1000000000000#)
If Not Len(Yazi) > 0 Then Exit Function

Seviye = 0

While Len(Yazi) > 0
Toplam = 0

Rakam1 = Birler(Yazi)
Rakam2 = Onlar(Yazi)
Rakam3 = Yuzler(Yazi)
Rakam4 = Binler(Yazi)

Toplam = Rakam1 + Rakam2 + Rakam3 + Rakam4
Rakam = Rakam + (Toplam * Seviyeler(Seviye))

Seviye = Seviye + 1
Temiz = Temizleme(Yazi)
Wend

YS = Rakam

Cikis:
End Function

Public Function Birler(Yazi As String) As Integer
Bir = Array("BİR", "İKİ", "ÜÇ", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ")

For i = 0 To UBound(Bir)
Sayi1 = Bir(i)
Sayi2 = Right(Yazi, Len(Sayi1))

If Sayi1 = Sayi2 Then
Yazi = Left(Yazi, (Len(Yazi) - Len(Sayi1)))
Birler = (i + 1)
Exit For
End If
Next i

End Function

Public Function Onlar(Yazi As String) As Integer
Onluk = Array("ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN")

For i = 0 To UBound(Onluk)
Sayi1 = Onluk(i)
Sayi2 = Right(Yazi, Len(Sayi1))

If Sayi1 = Sayi2 Then
Yazi = Left(Yazi, (Len(Yazi) - Len(Sayi1)))
Onlar = (i + 1) * 10
Exit For
End If
Next i
End Function

Public Function Yuzler(Yazi As String) As Integer

If Right(Yazi, 3) = "YÜZ" Then
Yazi = Left(Yazi, Len(Yazi) - 3)
Rakam3 = Birler(Yazi)

Yuzler = IIf(Rakam3 > 0, Rakam3 * 100, 100)
End If

End Function

Public Function Binler(Yazi As String) As Long

If Right(Yazi, 3) = "BİN" Then
Yazi = Left(Yazi, Len(Yazi) - 3)
Rakam4 = Birler(Yazi)
Rakam5 = Onlar(Yazi)
Rakam6 = Yuzler(Yazi)
Binler = Rakam4 + Rakam5 + Rakam6

Binler = IIf(Binler > 0, Binler * 1000, 1000)
End If

End Function

Public Function Temizleme(Yazi As String) As String
Temizlenecekler = Array("MİLYON", "MİLYAR", "TRİLYON")

For i = 0 To UBound(Temizlenecekler)
Temizle = Temizlenecekler(i)
Temizlenecek = Right(Yazi, Len(Temizle))

If Temizle = Temizlenecek Then
Yazi = Left(Yazi, (Len(Yazi) - Len(Temizle)))
Exit For
End If
Next i

Temizleme = Yazi
End Function

Mesajlarınız için :
mustafa@hipermedya.com


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: