Avatar billede holeinthewall Nybegynder
25. november 2002 - 09:20 Der er 9 kommentarer

String til int

Jeg har oprettet spm'et tidligere, men der fik jeg ikke svar.

Nu prøver jeg igen

http://www.eksperten.dk/spm/282030
Avatar billede joern Nybegynder
25. november 2002 - 10:50 #1
Hej.

Text1.Text indeholder 1+2*3

Under forudsætning af at der kun forekommer ét plus-tegn og ét gange-tegn og ingen decimaler:

Dim a, b, c as Integer, tal1, tal2, tal3, resul as Long
  a = instr(text1.text,"+")
  b = instr(text1.text,"*")

  tal1 = val(left(text1.text, a - 1)
  tal2 = val(mid(text1.text, a + 1, b - 1)
  tal3 = val(mid(text1.text, b + 1)

  resul = (tal1 + tal2) * tal3

Du må selv udbygge med muligheden for minus

M.v.h.  Jørn
Avatar billede bak Forsker
25. november 2002 - 15:55 #2
Avatar billede joern Nybegynder
25. november 2002 - 19:50 #3
Hej.

Joern bruger VB5, der er ikke understøttelse af scriptcontrol.  Men det er da ellers smart.

M.v.h.  Jørn
Avatar billede sion Nybegynder
25. november 2002 - 21:20 #4
Kan int(strNogetTekst) ikke bruges?
Avatar billede troev Nybegynder
26. november 2002 - 13:07 #5
Jeg tror der er noget der hedder StrToInt() eller sådan etwas.
Avatar billede troev Nybegynder
26. november 2002 - 13:11 #6
næ det er der ikk',  - Sorry

/Trøv :-)
Avatar billede joern Nybegynder
02. december 2002 - 16:00 #7
Hej.

Hvad er så løsningen ?

m.v.h.  Jørn
Avatar billede amerikaner Nybegynder
03. december 2002 - 14:56 #8
Proøve den her...den kun køre v-til-h

Sub Add_TextField()

    Dim a, b, x, y, z
    Dim Hold, HopOut
   
    y = 1
   
    For x = 2 To (Len(Text1.Text))
        z = Mid(Text1.Text, x, 1)
        Select Case z
            Case "+", "-", "/", "*"
HopIn:
                a = Mid(p_Text1, y, x - y)
                Select Case Hold
                    Case "+"
                        b = b + CSin(a)
                    Case "-"
                        b = b - CSin(a)
                    Case "/"
                        b = b / CSin(a)
                    Case "*"
                        b = b * CSin(a)
                    Case Else
                        b = a
                End Select
                If HopOut Then Exit For
                Hold = z    'previous math value
                y = x + 1    'start number position
        End Select
    Next
   
    If Hold <> "" And HopOut = False Then
        HopOut = True
        GoTo HopIn
    End If
   
    Test = CSin(b)
End Sub
Avatar billede sion Nybegynder
03. december 2002 - 17:47 #9
Her er et eksempel:
Citat fra projekt-beskrivelsen: "Wow! This program will evaluate expressions like: 2*3^sin(2)+23/(2*Abs(-8.5)! This code is worth its weight in gold!"
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4896&lngWId=1 (det er en 'Award Wining Code' fra Planet-Source-Code :))
-Sion
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