Prikazi cijelu temu 12.06.2018 11:53
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: dobro jutro, dobar dan...
dobro jutro!

da ne brljam tamo po temi, ovdje ako ima zainteresiranih mozemo raspraviti a onda tamo urediti.

Citiraj Gjoreski:
Ako nekome zatreba :

PreuzmiIzvorni kôd (Visual Basic):
  1. Public Function Extract_Number_With_Decimal(Phrase As String) As Double
  2. Dim Length_of_String As Integer
  3. Dim Current_Pos As Integer
  4. Dim Temp As String
  5. Length_of_String = Len(Phrase)
  6. Temp = ""
  7. For Current_Pos = 1 To Length_of_String
  8. If (Mid(Phrase, Current_Pos, 1) = "-") Then
  9.   Temp = Temp & amp & Mid(Phrase, Current_Pos, 1)
  10. End If
  11. If (Mid(Phrase, Current_Pos, 1) = ".") Then
  12.  Temp = Temp & amp & Mid(Phrase, Current_Pos, 1)
  13. End If
  14. If (IsNumeric(Mid(Phrase, Current_Pos, 1))) = True Then
  15.     Temp = Temp & amp & Mid(Phrase, Current_Pos, 1)
  16.  End If
  17. Next Current_Pos
  18. If Len(Temp) = 0 Then
  19.     Extract_Number_With_Decimal = 0
  20. Else
  21.     Extract_Number_With_Decimal = CDbl(Temp)
  22. End If
  23. End Function


Citiraj zxz:
Sta je amp

bice neki razmak , ali sigurno ima kljucnu ulogu u svemu tome.

isprobao sam funkciju od gjoreskog

Call MsgBox(Extract_Number_With_Decimal("znak za dolar$34E.gjoresku 33 a icentar " & "a sta ti je amp pita zxz ostale .tocke nemaju veze.9"))

rezultat:34339

malo preradena funkcija izgleda ovako:
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Function Extract_Number_With_Decimal(ByVal strString As String) As Double
  2.     Dim blnHasDecimal As Boolean, i As Integer
  3.     Dim s As String
  4.    
  5.     strString = Trim$(strString)
  6.     If Len(strString) = 0 Then
  7.         Exit Function
  8.     End If
  9.    
  10.     For i = 1 To Len(strString)
  11.         Select Case Mid$(strString, i, 1)
  12.  
  13.             ' provjeri dali je znak broj
  14.            Case "0" To "9"
  15.                 ' dodaj u string ako je
  16.                s = s & Mid$(strString, i, 1)
  17.  
  18.             ' znak je tocka ili zarez
  19.            Case ".", ","
  20.                 If Not blnHasDecimal Then
  21.                     blnHasDecimal = True
  22.                     s = s & "."
  23.                 End If
  24.         End Select
  25.     Next i
  26.     Extract_Number_With_Decimal = Val(s)
  27. End Function
pozivanje funkcije:

Call MsgBox(Extract_Number_With_Decimal("znak za dolar$34E.gjoresku 33 a icentar " & "a sta ti je amp pita zxz ostale .tocke nemaju veze.9"))

rezultat:
34,339
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 12.06.2018 11:54 od strane Avko.