Sayfayı Yazdır | Pencereyi Kapat


TL, kuruş şeklindeki sayıyı yazıya çevirme (VB.NET)

Kategori: V.BASIC
Eklenme Tarihi: 12 Nisan 2009
Zaman: 22 Mayıs 2012 12:22
Samanalevi Netkafe - http://www.samanalevi.com/bilgisayaroku/184.TL_kuruS_Seklindeki_sayiyi_yaziya_Cevirme__VBNET.html

Aşağıda kodlarını verdiğim fonksiyonlarımızı formumuza ekliyoruz ve çalıştırıyoruz.. textbox1 içine yazdığımız sayının buton üzerine tıkladıktan sonra textbox2 de yazı ile yazıldığını göreceğiz.

örneğin textbox1 içine 230,67 yazıp BUTON1 E TIKLIYORUZ basıyoruz textbox2 içinde # İKİ YÜZ OTUZ TL, ALTMIŞ YEDİ KRŞ # 

form1 üzerine iki textbox bir de bton ekledikten sonra formun boş bir yerinde çift tıklıyoruz.. açılan editörde tümünü seçip siliyoruz ve hemen aşağıdaki kodların tümünü seçip sildiğimiz yere yapıştırıyoruz. kullanıma hazır hale geldi.

 

' buradan itibaren sayfa sonuna kadar kopyalayıp yukarıda bahsedilen yere yapıştırınız.

Public Class Form1

Function tlcevir(ByVal tl)
'
Dim sonuc As String = " # SIFIR TL, "
Dim basamak(10), deger(13), basamaklarimiz(13) As String
Dim i As Integer
'tl = Str(Int(tl))
basamak(0) = " SIFIR"
basamak(1) = " BİR"
basamak(2) = " İKİ"
basamak(3) = " ÜÇ"
basamak(4) = " DÖRT"
basamak(5) = " BEŞ"
basamak(6) = " ALTI"
basamak(7) = " YEDİ"
basamak(8) = " SEKİZ"
basamak(9) = " DOKUZ"
deger(1) = " ON"
deger(2) = " YİRMİ"
deger(3) = " OTUZ"
deger(4) = " KIRK"
deger(5) = " ELLİ"
deger(6) = " ALTMIŞ"
deger(7) = " YETMİŞ"
deger(8) = " SEKSEN"
deger(9) = " DOKSAN"

Dim k As Integer = 0
For i = Strings.Len(tl) To 1 Step -1
basamaklarimiz(i) = Strings.Mid(tl, i, 1)
Next

If Strings.Len(tl) > 1 Then
If Strings.Len(tl) > 2 Then
If Strings.Len(tl) > 3 Then
If Strings.Len(tl) > 4 Then
If Strings.Len(tl) > 5 Then
If Strings.Len(tl) > 6 Then
Else
sonuc = basamak(basamaklarimiz(Strings.Len(tl) - 5)) & " YÜZ" & deger(basamaklarimiz(Strings.Len(tl) - 4)) & basamak(basamaklarimiz(Strings.Len(tl) - 3)) & " BİN" & basamak(basamaklarimiz(Strings.Len(tl) - 2)) & " YÜZ" & deger(basamaklarimiz(5)) & basamak(basamaklarimiz(6))
sonuc = Replace(sonuc, "SIFIR BİN", " BİN")
End If
Else
sonuc = deger(basamaklarimiz(Strings.Len(tl) - 4)) & basamak(basamaklarimiz(Strings.Len(tl) - 3)) & " BİN" & basamak(basamaklarimiz(Strings.Len(tl) - 2)) & " YÜZ" & deger(basamaklarimiz(4)) & basamak(basamaklarimiz(5))
sonuc = Replace(sonuc, "SIFIR BİN", " BİN")
End If
Else
sonuc = basamak(basamaklarimiz(Strings.Len(tl) - 3)) & " BİN" & basamak(basamaklarimiz(Strings.Len(tl) - 2)) & " YÜZ" & deger(basamaklarimiz(3)) & basamak(basamaklarimiz(4))
End If
Else
sonuc = basamak(basamaklarimiz(Strings.Len(tl) - 2)) & " YÜZ" & deger(basamaklarimiz(2)) & basamak(basamaklarimiz(3))
End If
Else
sonuc = deger(basamaklarimiz(1)) & basamak(basamaklarimiz(2))
End If
Else
sonuc = basamak(basamaklarimiz(1))
End If

sonuc = Replace(sonuc, "SIFIR BİN", "")
sonuc = Replace(sonuc, "SIFIR YÜZ", "")
sonuc = Replace(sonuc, "BİR YÜZ", "YÜZ")
sonuc = Replace(sonuc, " SIFIR", " ")
sonuc = Replace(sonuc, " ", " ")
sonuc = Replace(sonuc, " ", " ")

Return sonuc
End Function


Function yaziyacevir(ByVal gelen)
Dim virgulnerde As Integer
If gelen = "" Then gelen = "0,00"
Dim sonuc, tlsayi, kurussayi As String

gelen = Replace(gelen, ".", ",")
virgulnerde = InStr(gelen, ",")
'If virgulnerde <> 0 Then tambasamak = virgulnerde - 1 Else tambasamak = Strings.Len(gelen)
If virgulnerde <> 0 Then tlsayi = Strings.Left(gelen, virgulnerde - 1) Else tlsayi = gelen
If virgulnerde <> 0 Then kurussayi = Strings.Mid(gelen, virgulnerde + 1, 2) Else kurussayi = 0
If Int(kurussayi) < 10 Then kurussayi = kurussayi & "0"
sonuc = "# " & tlcevir(tlsayi) & " TL, " & tlcevir(kurussayi) & " KRŞ #"
Return sonuc
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox2.Text = yaziyacevir(TextBox1.Text)
End Sub

End Class

V.BASIC


Sayfayı Yazdır | Pencereyi Kapat 

http://www.samanalevi.com