Public Function Zodis(ByVal Suma As Double) As String Dim I As Integer, J As Integer, K As Integer, N As Integer, Str As String Dim Narys(8) As Integer, Nedesimt As Boolean Dim Vienas, Lika, Desimt, Simtas, Tukst, Milion Vienas = Array("vienas ", "du ", "trys ", "keturi ", "penki ", "ei ", "septyni ", "atuoni ", "devyni ") Lika = Array("vienuolika ", "dvylika ", "trylika ", "keturiolika ", "penkiolika ", "eiolika ", "septyniolika ", "atuoniolika ", "devyniolika ") Desimt = Array("deimt ", "dvideimt ", "trisdeimt ", "keturiasdeimt ", "penkiasdeimt ", "eiasdeimt ", "septyniasdeimt ", "atuoniasdeimt ", "devyniasdeimt ") Simtas = Array("imtas ", "imtai ") Tukst = Array("tkstantis ", "tkstaniai ", "tkstani ") Milion = Array("milijonas ", "milijonai ", "milijonu ") Str = CStr(Int(Abs(Suma))) N = Len(Str) If N < 10 Then For I = N To 1 Step -1 Narys(N - I) = Mid(Str, I, 1) Next I If Suma < 0 Then Str = "minus " Else Str = "" K = 0 For J = Int((N - 1) / 3) To 0 Step -1 Nedesimt = False For I = N - 1 - K To J * 3 Step -1 Select Case I - J * 3 Case 2 If Narys(I) <> 0 Then Str = Str & Vienas(Narys(I) - 1) If Narys(I) = 1 Then Str = Str & Simtas(0) Else Str = Str & Simtas(1) End If Case 1 If Narys(I) = 1 And Narys(I - 1) <> 0 Then Nedesimt = True Else If Narys(I) <> 0 Then Str = Str & Desimt(Narys(I) - 1) End If Case 0 If Nedesimt Then Str = Str & Lika(Narys(I) - 1) Else If Narys(I) <> 0 Then Str = Str & Vienas(Narys(I) - 1) End If End Select Next I K = N - J * 3 Select Case J Case 0 If Str = "" Or Str = "minus " Then Str = Str & "nulis " Str = Str & "Lt " & Format((Abs(Suma) - Int(Abs(Suma))) * 100, "00") & " ct" Case 1 If K = 1 Or (Narys(J * 3) <> 0 And Narys(1 + J * 3) <> 1) Then If Narys(J * 3) = 1 Then Str = Str & Tukst(0) Else Str = Str & Tukst(1) Else If Narys(3) + Narys(4) + Narys(5) <> 0 Then Str = Str & Tukst(2) End If Case 2 If K = 1 Or (Narys(J * 3) <> 0 And Narys(1 + J * 3) <> 1) Then If Narys(J * 3) = 1 Then Str = Str & Milion(0) Else Str = Str & Milion(1) Else Str = Str & Milion(2) End If End Select Next J Zodis = Chr(Asc(Str) - 32) & Right(Str, Len(Str) - 1) Else Zodis = "Tiek negali buti" End If End Function