Anasayfa Bilgisayar Programlama V.BASIC

-

Tl, Kuruş Şeklindeki Sayıyı Yazıya Çevirme (vb.net)

Sosyal Ağ Paylaşımı :                                

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

Konuya Ait Yorumlar

  • Admin - 26.01.2011 21:16:57

Tabiki yazarsanız gerekli güncellemeyi yaparız. İlginize Teşekkürler...

  • yusuf dinçer - 26.01.2011 13:16:33

öncelikle teşekkür ederim işime yaradı ama basit hatalar var mesela 50,01 yadıgımda elli tl on krs gibi cıktı veriyo halbuki 1 krs yazması lazım tum hataları duzenledim istersen buraya yazabilirim sende konuyu güncellersin
iyi çalışmalar

  • Gökhan - 30.06.2010 23:47:17

paylaşımın için saol , gördüğüm kadarı ile Sorun var , bir bin sorunu ve ayrıca 125,00 ise YKR ibaresi halen görünüyor ...üzeltilir ve aynı zamanda C# versiyonu da yayınlanırsa hoş olur...tşk ler

  •  Cem - 16.05.2010 17:30:34

Teşekkürler işime yaradı

Yorum Gönder




Güvenlik Kodu

IP Adresiniz : 38.107.179.208

İlginizi Çekebilecek Konular
Başlık
Ekleyen

Son Eklenen Yorumlar

Admin - 1 Yorum

Tabiki yazarsanız gerekli güncellemeyi yaparız. İlginize Teş...

yusuf dinçer - 1 Yorum

öncelikle teşekkür ederim işime yaradı ama basit hatalar var...

Gökhan - 1 Yorum

paylaşımın için saol , gördüğüm kadarı ile Sorun var , bir b...

 Cem - 1 Yorum

Teşekkürler işime yaradı...

 Ata Kuyumcu - 1 Yorum

ÇOOOOOOOOOOOOOOOOOOOOOOOOOOOOK haklısın....

Bölümün En İyi Üyeleri

ogniela
37 yaşında, Akrep burcu.
Puanı: 24600

deryadeniz79
29 yaşında, Aslan burcu.
Puanı: 16680

cicceekk
36 yaşında, Aslan burcu.
Puanı: 11800

afflicted_
35 yaşında, YENGEÇ burcu.
Puanı: 7760

safir
32 yaşında, Kova burcu.
Puanı: 4800

Mail Listemize Katılın

E-Posta listemize katılarak Samanalevi Netkafe gelişmelerinden haberdar edilin.

*bilgilerinizin gizli tutulacağından emin olabilirsiniz.


Sizde Paylaşın

Şiirlerinizi, duygularınızı, anılarınızı, hobi ilgi alanı yada yemek tariflerinizi paylaşın.

writte

Edebiyat, düşünce ve duyguların, söz ya da yazı halinde güzel ve etkili bir şekilde anlatılması sanatıdır. Samanalevi Netkafe'de anlatmak istemezmisiniz?

Benide Ekle

Samanalevi Netkafe Hakkında

aboutTürkiye'nin samimi paylaşım ortamıdır Samanalevi Netkafe. Sitemize üye olarak kendinize/şairlerimize ait şiirleri, sosyal bilimler kategorilerinde konuları, yemek tariflerini, kaliteli slayt gösterileri, resimler ve videolar gibi her kategoride paylaşımda bulunabilirsiniz.

Şiirler Teknoloji Yemek