Avatar billede t177375 Nybegynder
21. maj 2004 - 15:33 Der er 8 kommentarer og
1 løsning

Konvertering af tekststreng til nummer.

Jeg har et problem med at konvertere en tekststreng til et nummer som jeg kan regne videre på. Endvidere ved jeg ikke altid hvormange cifre min streng indeholder da det er valutakurser. Ex. EUR (7.4445), GBP (11.6987). De er separeret med punktum fra min kilde. På forhånd tak for hjælpen.
21. maj 2004 - 15:34 #1
Val(beløb)
Avatar billede t177375 Nybegynder
21. maj 2004 - 15:45 #2
Jeg har prøvet ..  Val (MyCurQuote)    ... men det virker af en eller anden årsag ikke. Du løser heller ikke mit problem med at strengen er af varierende størrelse.
21. maj 2004 - 15:49 #3
hvad med CSng(beløb)?
21. maj 2004 - 16:03 #4
det virker fint hos mig med begge.

Det er i VB, du bruger det, ikke?

Hvis det er komma/punktum-problemet, så kan du erstatte punktumet med komme vha:

CSng(Replace(MyCurQuote, ".", ","))
Avatar billede joern Nybegynder
21. maj 2004 - 16:59 #5
Hej.

Er det er VBA-sag?  I VB fungerer:

Private Sub Command1_Click()
  Text2.Text = 2 * Val(Text1.Text)
End Sub

uanset varierende antal cifre før og efter decimaltegnet, som SKAL være punktum.

m.v.h.  Jørn
Avatar billede t177375 Nybegynder
25. maj 2004 - 14:49 #6
Hej Thomas.

Tak for dit svar. Det var det der var problemet. Jeg kendte ikke Replace og den findes heller ikke i min gamle VB ??

Henrik
Avatar billede t177375 Nybegynder
25. maj 2004 - 14:50 #7
Hej Jørn.

Den forstår jeg ikke ...

Henrik
25. maj 2004 - 14:53 #8
ok, jeg har en gammel Replace-funktion, som jeg skrev til de ældre versioner af Office og vb:

Public Function mieReplace(Streng As String, Find As String, Erstat As String) As String
    On Error Resume Next
    Dim pos As Integer, findpos As Integer
    Dim tmpStr As String
    pos = 1
    If Len(Streng) = 0 Then
      mieReplace = Streng
      Exit Function
    End If
    tmpStr = Streng
    Do
        findpos = InStr(pos, tmpStr, Find)
        If findpos <> 0 Then
            tmpStr = Left(tmpStr, findpos - 1) & Erstat & Mid(tmpStr, findpos + Len(Find))
            pos = pos
        Else
            pos = pos + 1
        End If
    Loop Until pos = Len(Streng)
    If Err Then
      mieReplace = Streng
    Else
      mieReplace = tmpStr
  End If
End Function


Den fungere på samme måde, men du skal bare kalde mieReplace i stedet (mie=Make It Easy :)
15. juni 2004 - 09:25 #9
thnx :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester