rakanları yazıya çevirme yardım pls

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kilitli
haznedarli
Üye
Mesajlar: 122
Kayıt: 31 Tem 2010 06:38

rakanları yazıya çevirme yardım pls

Mesaj gönderen haznedarli »

nette bu kodları buldum asp sistem kullanıyorum db firebird
2,541.24--------------cıktı------------YIRMIDÖRT TL-------------------------yanlış
1,301.00--------------cıktı------------BIRBINÜÇYÜZBIR TL -------------------yanlış
2,500.00--------------cıktı------------IKIBINBESYÜZ Tl------------------------dogru
7,816.00--------------cıktı------------YEDIBINSEKIZYÜZONALTI TL----------dogru

bazıları dogru bazıları yanlış cıkıyor yardımcı olabilecek arkadas varmıdır yardım edenlere şimdiden teşekkü ederim kolay gelsin...

Function GeriyeKalaniYaziyaCevir(GeriyeKalan)
If GeriyeKalan <> 0 Then
KacYuz = Fix(GeriyeKalan / 100)
If Len(GeriyeKalan) > 2 Then
GeriyeKalan = Right(GeriyeKalan,2)
End If

If KacYuz <> 0 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & GeriyeKalaniYaziyaCevir(KacYuz) & "YÜZ"
End If
If GeriyeKalan > 9 Then
OnlarBasamagi = Left(GeriyeKalan,1)
If OnlarBasamagi = 9 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "DOKSAN"
ElseIf OnlarBasamagi = 8 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "SEKSEN"
ElseIf OnlarBasamagi = 7 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "YETMİŞ"
ElseIf OnlarBasamagi = 6 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "ALTMIŞ"
ElseIf OnlarBasamagi = 5 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "ELLİ"
ElseIf OnlarBasamagi = 4 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "KIRK"
ElseIf OnlarBasamagi = 3 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "OTUZ"
ElseIf OnlarBasamagi = 2 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "YİRMİ"
ElseIf OnlarBasamagi = 1 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "ON"
End If
End If
BirlerBasamagi = Right(GeriyeKalan,1)
If BirlerBasamagi = 9 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "DOKUZ"
ElseIf BirlerBasamagi = 8 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "SEKİZ"
ElseIf BirlerBasamagi = 7 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "YEDİ"
ElseIf BirlerBasamagi = 6 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "ALTI"
ElseIf BirlerBasamagi = 5 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "BEŞ"
ElseIf BirlerBasamagi = 4 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "DÖRT"
ElseIf BirlerBasamagi = 3 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "ÜÇ"
ElseIf BirlerBasamagi = 2 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "İKİ"
ElseIf BirlerBasamagi = 1 Then
GeriyeKalaniYaziyaCevir = GeriyeKalaniYaziyaCevir & "BİR"
End If
End If
End Function

Function YaziyaCevir(Sayi)
KacMilyar = Fix(Sayi/1000000000)
If Sayi > 9 Then
Sayi = Right(Sayi,9)
End If
KacMilyon = Fix(Sayi/1000000)
If Sayi > 6 Then
Sayi = Right(Sayi,6)
End If
KacBin = Fix(Sayi / 1000)
If Sayi > 3 Then
Sayi = Right(Sayi,3)
End If


GeriyeKalan = Sayi

If KacMilyar <> 0 Then
YaziyaCevir = YaziyaCevir & GeriyeKalaniYaziyaCevir(KacMilyar) & "MİLYAR"
End If
If KacMilyon <> 0 Then
YaziyaCevir = YaziyaCevir & GeriyeKalaniYaziyaCevir(KacMilyon) & "MİLYON"
End If
If KacBin <> 0 Then
YaziyaCevir = YaziyaCevir & GeriyeKalaniYaziyaCevir(KacBin) & "BİN"
End If
YaziyaCevir = YaziyaCevir & GeriyeKalaniYaziyaCevir(GeriyeKalan)
End Function
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: rakanları yazıya çevirme yardım pls

Mesaj gönderen aslangeri »

s.a.
lütfen forum kurallarına riayet ediniz.
sitede sayıyı yazıya çevirme üzerine epey bi konu mevcut.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kilitli