Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Treba mi kod za konvert broja u rec(i) ...

[es] :: Visual Basic 6 :: Treba mi kod za konvert broja u rec(i) ...

[ Pregleda: 4804 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.rcub.bg.ac.yu

ICQ: 106825659
Sajt: localhost


Profil

icon Treba mi kod za konvert broja u rec(i) ...09.12.2001. u 19:45 - pre 271 meseci
Znaci, zamolio bih nekoga ko se vec baktao sa time da mi postuje ovde ili na mejl ([email protected]) kod kojim se broj (iz recimo textbox-a) konvertuje u rec(i).

Primer:
320,50 = tristotinedvadeset i 50/100


Hvala.
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

kaan
Kaurin Andrej
Telerik, Bulgaria
Banjaluka

Član broj: 1741
Poruke: 109
*.dialup.blic.net

ICQ: 47193919


Profil

icon Re: Treba mi kod za konvert broja u rec(i) ...21.12.2001. u 01:55 - pre 271 meseci
Ovo bi se dalo uraditi ali je zaista naporno i ne vidim cemu sluzi.
Lako bi sa dictionaruy objectom dao vrednosti svakog broja od 0 do 9, ali bi morao da kontrolishes poziciju broja da vidish da li su jedinice, stotice, desetice,.... I to nije problem ako su trocifreni brojevi. Ali sto je vishe brojeva to je komplikovanije.

Ako ti je bitno ajde javi se na mail pa cemo da uradimo.
Kaurin Andrej
 
Odgovor na temu

gio1000
Italia

Član broj: 1159
Poruke: 122
*.98-62.inwind.it



Profil

icon Re: Treba mi kod za konvert broja u rec(i) ...25.12.2001. u 03:49 - pre 271 meseci
15. sti put gledam ovo i razmisljam:
Kako da ti odgovorim kad moram da ispisem sto hiljada redova.
Ono sto ja znam je da ti moram pretvoriti svaki broj u rijec:
Jedinice, stotine, hiljade...
Ako je bas frka uradicuti, ali ako nije nemoj onda...
Budi drug.
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Treba mi kod za konvert broja u rec(i) ...18.02.2002. u 01:25 - pre 269 meseci
Private Sub Command1_Click()
'************* racun do milion *****************
' ovaj kod jedino moze da sluzi za profakture, otpremnice ili sl. :))
' "napisite iznos i slovima" ....
' ja licno mislim da je to u pitanju
' ako ti treba za vise od milion onda im ti bajo naplati malo vise za ovaj kod
' jer kad imaju profakture na milion i vise, imaju i pare !!!
' ... malo zajebacije, nemoj da me shvatis pogresno

jedinice = Array("", "jedan", "dva", "tri", "cetiri", _
"pet", "sest", "sedam", "osam", "devet")
od11do19 = Array("", "jedanaest", "dvanaest", "trinaest", _
"cetrnaest", "petnaest", "sesnaest", "sedamnaest", "osamnaest", "devetnaest")
desetice = Array("", "deset", "dvadeset", "trideset", "cetrdeset", _
"pedeset", "sezdeset", "sedamdeset", "osamdeset", "devedeset")
stotine = Array("", "sto", "dvesta", "trista", "cetiristo", _
"petsto", "sesto", "sedamsto", "osamsto", "devetsto")
hiljade = Array("", "jedna", "dve", "tri", "cetiri", _
"pet", "sest", "sedam", "osam", "devet")

broj = Val(Trim(Text1.Text)) ' kompletan broj
br = Int(Val(Trim(Text1.Text))) ' celobrojni deo - u brojnom obliku
brstr = Str(br) ' br koji obradjujemo u string obliku, recimo da je u text box-u
brstr = "0000000000000" & brstr ' dodamo po neku nulu na pocetak da bolje radi, hehe :)

If InStr(1, Str(broj), ".", 1) > 0 Then ' da li postoji zarez
zarez = Mid(Str(broj), InStr(1, Str(broj), ".", 1) + 1, 2) ' dve decimale u zarezu
Else
zarez = ""
End If
If Len(zarez) < 2 Then zarez = zarez & "0"
zarezbr = Val(zarez)
MsgBox zarez
MsgBox broj

' ******* prvo zarez *********
' prvo jedinice
jed = hiljade(Val(Right(zarez, 1))) ' hiljade zbog "jedna para" i sl.
' pa desetice
If Int(zarezbr / 10) > 0 Then
des = desetice(Val(Left(Right(zarez, 2), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Right(zarez, 1)))
jed = ""
End If
para = des & " " & jed ' para je stoti deo dinara ako niste znali
If jed = "dve" Or jed = "tri" Or jed = "cetiri" Then
par = " pare"
Else
par = " para"
End If
If jed = "" And des = "" Then para = ""
jed = ""
des = ""
'If Val(para) = 0 Then para = ""

' ******* celobrojni deo *********
' prvo jedinice
jed = jedinice(Val(Right(brstr, 1)))
' pa desetice
If Int(br / 10) > 0 Then
des = desetice(Val(Left(Right(brstr, 2), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Right(brstr, 1)))
jed = ""
End If
' stotine
If Int(br / 100) > 0 Then
stot = stotine(Val(Left(Right(brstr, 3), 1)))
Else
stot = ""
End If

If jed = "jedan" Then
din = "dinar"
Else
din = "dinara"
End If

dohilj = stot & " " & des & " " & jed ' do 10^3

' ******** za hiljade sve isto samo krecemo od cetrvrte cifre od pozadi ********
' prvo jedinice
jed = hiljade(Val(Left(Right(brstr, 1 + 3), 1)))
' pa desetice
If Int(br / 10000) > 0 Then
des = desetice(Val(Left(Right(brstr, 2 + 3), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Left(Right(brstr, 1 + 3), 1)))
jed = ""
'Debug.Print des & jed
End If
' stotine
If Int(br / 100000) > 0 Then
stot = stotine(Val(Left(Right(brstr, 3 + 3), 1)))
Else
stot = ""
End If
'******************************************

If jed = "dve" Or jed = "tri" Or jed = "cetiri" Then
hilj = "hiljade"
Else
hilj = "hiljada"
End If
If jed = "" And des = "" Then hilj = ""

' evo ga rezultat :

suma = stot & " " & des & " " & jed & " " & hilj & " " & dohilj & " " & din
If para <> "" Then suma = suma & " i " & para & par
Debug.Print suma

par = ""
din = ""

' inace sve ovo bi moglo da se ubudzi u petlju pa da pici i milione, milijarde ...
' ... mrzelo me to da radim ali cu ovih dana i to da uradim pa cu da uploadujem ovde

End Sub


fire, walk with me
 
Odgovor na temu

rainman1977
zemlja dembelija

Član broj: 7771
Poruke: 84
*.teol.net

ICQ: 200221484


Profil

icon Re: Treba mi kod za konvert broja u rec(i) ...15.05.2003. u 02:15 - pre 254 meseci
Option Explicit

Private Sub cmdConvert_Click()
txtResult = NumToText(Val(txtNumber))
txtNumber.SelStart = 0
txtNumber.SelLength = Len(txtNumber)
txtNumber.SetFocus
End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Function NumToText(dblVal As Double) As String
Static Ones(0 To 9) As String
Static Teens(0 To 9) As String
Static Tens(0 To 9) As String
Static Thousands(0 To 4) As String
Static bInit As Boolean
Dim i As Integer, bAllZeros As Boolean, bShowThousands As Boolean
Dim strVal As String, strBuff As String, strTemp As String
Dim nCol As Integer, nChar As Integer

'Only handles positive values
Debug.Assert dblVal >= 0

If bInit = False Then
'Initialize array
bInit = True
Ones(0) = "zero"
Ones(1) = "one"
Ones(2) = "two"
Ones(3) = "three"
Ones(4) = "four"
Ones(5) = "five"
Ones(6) = "six"
Ones(7) = "seven"
Ones(8) = "eight"
Ones(9) = "nine"
Teens(0) = "ten"
Teens(1) = "eleven"
Teens(2) = "twelve"
Teens(3) = "thirteen"
Teens(4) = "fourteen"
Teens(5) = "fifteen"
Teens(6) = "sixteen"
Teens(7) = "seventeen"
Teens(8) = "eighteen"
Teens(9) = "nineteen"
Tens(0) = ""
Tens(1) = "ten"
Tens(2) = "twenty"
Tens(3) = "thirty"
Tens(4) = "forty"
Tens(5) = "fifty"
Tens(6) = "sixty"
Tens(7) = "seventy"
Tens(8) = "eighty"
Tens(9) = "ninety"
Thousands(0) = ""
Thousands(1) = "thousand" 'US numbering
Thousands(2) = "million"
Thousands(3) = "billion"
Thousands(4) = "trillion"
End If
'Trap errors
On Error GoTo NumToTextError
'Get fractional part
strBuff = "and " & Format((dblVal - Int(dblVal)) * 100, "00") & "/100"
'Convert rest to string and process each digit
strVal = CStr(Int(dblVal))
'Non-zero digit not yet encountered
bAllZeros = True
'Iterate through string
For i = Len(strVal) To 1 Step -1
'Get value of this digit
nChar = Val(Mid$(strVal, i, 1))
'Get column position
nCol = (Len(strVal) - i) + 1
'Action depends on 1's, 10's or 100's column
Select Case (nCol Mod 3)
Case 1 '1's position
bShowThousands = True
If i = 1 Then
'First digit in number (last in loop)
strTemp = Ones(nChar) & " "
ElseIf Mid$(strVal, i - 1, 1) = "1" Then
'This digit is part of "teen" number
strTemp = Teens(nChar) & " "
i = i - 1 'Skip tens position
ElseIf nChar > 0 Then
'Any non-zero digit
strTemp = Ones(nChar) & " "
Else
'This digit is zero. If digit in tens and hundreds column
'are also zero, don't show "thousands"
bShowThousands = False
'Test for non-zero digit in this grouping
If Mid$(strVal, i - 1, 1) <> "0" Then
bShowThousands = True
ElseIf i > 2 Then
If Mid$(strVal, i - 2, 1) <> "0" Then
bShowThousands = True
End If
End If
strTemp = ""
End If
'Show "thousands" if non-zero in grouping
If bShowThousands Then
If nCol > 1 Then
strTemp = strTemp & Thousands(nCol \ 3)
If bAllZeros Then
strTemp = strTemp & " "
Else
strTemp = strTemp & ", "
End If
End If
'Indicate non-zero digit encountered
bAllZeros = False
End If
strBuff = strTemp & strBuff
Case 2 '10's position
If nChar > 0 Then
If Mid$(strVal, i + 1, 1) <> "0" Then
strBuff = Tens(nChar) & "-" & strBuff
Else
strBuff = Tens(nChar) & " " & strBuff
End If
End If
Case 0 '100's position
If nChar > 0 Then
strBuff = Ones(nChar) & " hundred " & strBuff
End If
End Select
Next i
'Convert first letter to upper case
strBuff = UCase$(Left$(strBuff, 1)) & Mid$(strBuff, 2)
EndNumToText:
'Return result
NumToText = strBuff
Exit Function
NumToTextError:
strBuff = "#Error#"
Resume EndNumToText
End Function

moze li nesto ovako da ti pomogne.Ovo sam skinuo sa nekog site-a ali sam zaboravi sa kog.Sorry
i don't like money oh yea,i love it
 
Odgovor na temu

[es] :: Visual Basic 6 :: Treba mi kod za konvert broja u rec(i) ...

[ Pregleda: 4804 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.