Mogu ti pomoci na ovaj nacin, imam uradjenu funkciju. E ovako ovo stavi u Modul (modPretvaranjebrojauTekst)
Code:
'****************************************************************************
' FUNKCIJA ZA PRETVARANJE BROJA U TEKST
'****************************************************************************
Private varCifreJedinice As Variant
Private varCifreDoDvadeset As Variant
Private varCifreDesetice As Variant
Private varCifreStotine As Variant
Public Function PretvoriBrojUTekst(ByVal dblUlazniBroj As Double) As String
Dim strCifra As String
Dim intDuzinaCifre As Integer
Dim intBrojTrojki As Integer
Dim intOstatak As Integer
Dim intBrojac As Integer
Dim strMINUS As String
varCifreJedinice = Array("", "jedan", "dva", "tri", "èetiri", "pet", _
"šest", "sedam", "osam", "devet")
varCifreDoDvadeset = Array("deset", "jedanaest", "dvanaest", "trinaest", _
"èetrnaest", "petnaest", "šesnaest", "sedamnaest", "osamnaest", "devetnaest")
varCifreDesetice = Array("", "", "dvadeset", "trideset", "èetrdeset", _
"pedeset", "šezdeset", "sedamdeset", "osamdeset", "devedeset")
varCifreStotine = Array("", "sto", "dvesto", "tristo", "èetirsto", "petsto", _
"šesto", "sedamsto", "osamsto", "devetsto")
If dblUlazniBroj < 0 Then
strMINUS = "-"
dblUlazniBroj = Abs(dblUlazniBroj)
End If
PretvoriBrojUTekst = ""
strCifra = Format(dblUlazniBroj, "###################.00")
strCifra = Left(strCifra, Len(strCifra) - 3)
intDuzinaCifre = Len(strCifra)
intOstatak = intDuzinaCifre Mod 3
intBrojTrojki = (intDuzinaCifre / 3) - ((intDuzinaCifre Mod 3) / 3)
If dblUlazniBroj < 1000000000000# Then
If intOstatak > 0 Then
PretvoriBrojUTekst = OdrediTekstPodcifre(Left(strCifra, intOstatak), intBrojTrojki)
strCifra = Right(strCifra, Len(strCifra) - intOstatak)
End If
For intBrojac = intBrojTrojki To 0 Step -1
PretvoriBrojUTekst = PretvoriBrojUTekst & OdrediTekstPodcifre(Left(strCifra, 3), intBrojac - 1)
If Len(strCifra) > 3 Then
strCifra = Right(strCifra, Len(strCifra) - 3)
End If
Next
Else
End If
strCifra = Format(dblUlazniBroj, "###################.00")
strCifra = Right(strCifra, 2)
If Len(PretvoriBrojUTekst) > 0 Then
'PretvoriBrojUTekst = UCase(Left(PretvoriBrojUTekst, 1)) & Right(PretvoriBrojUTekst, Len(PretvoriBrojUTekst) - 1)
If (Right(PretvoriBrojUTekst, 5) = "Jedan") Or (Right(PretvoriBrojUTekst, 5) = "jedan") Then
PretvoriBrojUTekst = PretvoriBrojUTekst & " " & strCifra & "/100."
Else
PretvoriBrojUTekst = PretvoriBrojUTekst & " " & strCifra & "/100."
End If
End If
End Function
Private Function OdrediTekstPodcifre(ByVal strPodcifra As String, _
intVelicina As Integer) As String
Dim strTekst As String
OdrediTekstPodcifre = ""
If Val(strPodcifra) <> 0 Then
strTekst = OdrediTekst(strPodcifra)
Select Case intVelicina
Case 0
OdrediTekstPodcifre = strTekst
Case 1
'Slucaj za 11000,12000,13000,14000
If strPodcifra = "11" Or strPodcifra = "12" Or strPodcifra = "13" Or strPodcifra = "14" Then
OdrediTekstPodcifre = strTekst
OdrediTekstPodcifre = OdrediTekstPodcifre & "hiljada"
Else
'korekcija za slucaj za 2000, 22000, 32000 ....
If Right(strPodcifra, 1) = "2" Then
OdrediTekstPodcifre = Left(strTekst, Len(strTekst) - 1) & "e"
Else
OdrediTekstPodcifre = strTekst
End If
Select Case Right(strPodcifra, 1)
'Slucaj za 21000, 31000 ....
Case "1"
OdrediTekstPodcifre = Left(OdrediTekstPodcifre, Len(OdrediTekstPodcifre) - 2) & "nahiljada"
Case "2", "3", "4"
OdrediTekstPodcifre = OdrediTekstPodcifre & "hiljade"
Case Else
OdrediTekstPodcifre = OdrediTekstPodcifre & "hiljada"
End Select
'Slucaj za 1000
If Val(strPodcifra) = 1 Then
OdrediTekstPodcifre = "hiljadu"
End If
End If
Case 2
OdrediTekstPodcifre = strTekst & "miliona"
If Val(strPodcifra) = 1 Then
OdrediTekstPodcifre = "milion"
End If
Case 3
If Val(strPodcifra) = 1 Then
OdrediTekstPodcifre = "milijardu"
Exit Function
End If
If Val(Right(strPodcifra, 2)) > 5 And Val(Right(strPodcifra, 2)) < 21 Then
OdrediTekstPodcifre = strTekst & "milijardi"
Exit Function
End If
If Right(strPodcifra, 1) = "2" Then
OdrediTekstPodcifre = Left(strTekst, Len(strTekst) - 1) & "e"
Else
OdrediTekstPodcifre = strTekst
End If
Select Case Right(strPodcifra, 1)
Case "1"
OdrediTekstPodcifre = Left(OdrediTekstPodcifre, Len(OdrediTekstPodcifre) - 2) & "namilijarda"
Case "2", "3", "4"
OdrediTekstPodcifre = OdrediTekstPodcifre & "milijarde"
Case Else
OdrediTekstPodcifre = OdrediTekstPodcifre & "milijardi"
End Select
If Val(strPodcifra) = 1 Then
OdrediTekstPodcifre = "milijardu"
End If
End Select
End If
End Function
Private Function OdrediTekstDoSto(strPodcifra As String) As String
OdrediTekstDoSto = ""
Select Case Val(strPodcifra)
Case 1 To 9
OdrediTekstDoSto = varCifreJedinice(Val(strPodcifra))
Case 10 To 19
OdrediTekstDoSto = varCifreDoDvadeset(Val(strPodcifra) - 10)
Case 20 To 99
OdrediTekstDoSto = varCifreDesetice(Val(Left(strPodcifra, 1))) & varCifreJedinice(Val(Right(strPodcifra, 1)))
End Select
End Function
Private Function OdrediTekst(strPodcifra As String) As String
OdrediTekst = ""
Select Case Val(strPodcifra)
Case 1 To 99
OdrediTekst = OdrediTekstDoSto(Val(strPodcifra))
Case 100 To 999
OdrediTekst = varCifreStotine(Val(Left(strPodcifra, 1))) & OdrediTekstDoSto(Val(Right(strPodcifra, 2)))
End Select
End Function
Znaci onda u formi pises kod npr. ako imas Text1 u kome upisujes broj i Label1 u kom ti treba ispisati rijecima pisi ovaj kod:
Code:
Label1.Caption = PretvoriBrojUTekst(Text1.Text)
Mislim da ce ti ovo pomoci, mozes malo prouciti kod i samo pici napred.
Pozdrav!!!