Kod: Tümünü seç
Function Yaziyla(Sayi#)
Dim virgul2 As String
Dim cevap As String
Dim yazi As String
Dim Say As String
Dim uclu As String
Dim virgul As Integer
Dim o As Integer
Dim b As Integer
Dim x As Integer
Dim i As Integer
Dim y As Integer
Dim YTL As String
Dim YKR As String
If Sayi# = 0 Then Yaziyla = "Syfyr": Exit Function
ReDim birler$(10), onlar$(10), basamak$(5)
birler$(0) = "": birler$(1) = "Bir"
birler$(2) = "Yki": birler$(3) = "Üç"
birler$(4) = "Dört": birler$(5) = "Be?"
birler$(6) = "Alty": birler$(7) = "Yedi"
birler$(8) = "Sekiz": birler$(9) = "Dokuz"
onlar$(0) = "": onlar$(1) = "On"
onlar$(2) = "Yirmi": onlar$(3) = "Otuz"
onlar$(4) = "Kyrk": onlar$(5) = "Elli"
onlar$(6) = "Altmy?": onlar$(7) = "Yetmi?"
onlar$(8) = "Seksen": onlar$(9) = "Doksan"
basamak$(1) = "": basamak$(2) = "Bin "
basamak$(3) = "Milyon ": basamak$(4) = "Milyar "
basamak$(5) = "Trilyon "
virgul2 = ""
cevap = ""
'A?A?IDAKY 2 SATIRDAKY ÇYFT TIRNAK YÇERY?YNY DE?Y?TYREREK
'VEYA ÇYFT TIRNA?IN ARASINI SYLEREK "" VEYA "," GYBY
'YSTE?YNYZ SONUCUN ÇIKMASINI SA?LAYABYLYRSYNYZ.
YTL = ".-YTL., "
YKR = ".-YKR."
Say = Str$(Sayi#)
virgul = InStr(1, Say, ".")
If virgul Then
'A?a?adaki satyr 26,4 Yirmialty YTL, KIRK YKR olarak okutur.
' (Yirmialty YTL, DÖRT YKR olarak de?il)
'Yptal etmek isterseniz ba?yna bir ' tek tyrnak i?areti koyunuz
If Len(Mid(Say, virgul + 1)) = 1 Then Say = Say + "0"
Say = Right$(Say, Len(Say) - virgul)
GoSub cevir
If cevap = "" Then YKR = ""
virgul2 = cevap + YKR
cevap = ""
Say = Str$(Sayi#)
Say = Left$(Say, virgul - 1)
End If
GoSub cevir
If cevap = "" Then YTL = ""
Yaziyla = cevap + YTL + virgul2
Exit Function
cevir:
x = Len(Say)
Say = String$(3 - (x - Int(x / 3) * 3), 48) + Say
x = Len(Say) / 3
For i = 1 To x
uclu = Mid$(Say, Len(Say) - i * 3 + 1, 3)
y = Val(Mid$(uclu, 1, 1))
o = Val(Mid$(uclu, 2, 1))
b = Val(Mid$(uclu, 3, 1))
yazi = ""
If y <> 0 Then
If y > 1 Then yazi = birler$(y)
yazi = yazi + "Yüz "
End If
yazi = yazi + onlar$(o) + birler$(b)
If yazi <> "" Then
If LCase(yazi) = "bir" And i = 2 Then yazi = ""
cevap = yazi + basamak$(i) + cevap
End If
Next i
If Sayi# < 0 Then cevap = "-Eksi-" + cevap
Return
End Function