zahlen in string umwandeln bzw. berechnen

C

computers

Hallo, habe folgendes Problem:

In einem Programm, welches ich geschrieben haben werden Zahlen und die vier Zeichen + - * / in einer String-Variable gespeichert. Wenn der String jetzt z.B. 4*5+2 ist, wird dieser auch so ausgegeben. Ich möchte aber diesen String berechnet ausgegeben haben also im Beispiel 22.

Wie kann ich diesen String berechnen? Bitte um Hilfe!

Meine Überlegung war, diesen String in eine Long-Variable umzuwandeln oder so.
 
hmm,

du musst das ding parsen, also zeichen für Zeichen durchforsten und richig interpretieren.

Aslo vorne anfangen gucken ob das Zeichen eine Ziffer ist, ist es eine gucken ob die nächste auch eine ist usw. Wenn du auf ein anderes Zeichen stösst weisst du dass es ein Rechenzeichen ist usw.

Problematisch wird es wenn du an die Regel Punkt vor Strich kommst usw.

Dein Problem ist nciht wirklich trivial !

Obwohl, gibt es in VB sowas wie EVAL in php , damit ginge es recht einfach, wenn ich so drüber nachdenke.
 
Hi,

PHP:
Private Sub Command1_Click()
Dim Rechne As Single

    Rechne = 4 * 5 + 2
    MsgBox Rechne
End Sub

"Rechne" wird als Singel definiert (Warum Single?! Es kann ja sein, dass das Ergebnis Kommastellen hat)

4 * 5 + 2 wird Rechne zugewiesen

und die MessagBox liefert das Ergebnis

kAmBeR
 
mhm, erstmal danke für den tipp. was hat es denn mit EVAL auf sich bzw. wie würde man das parsen im quelltext umsetzen.

kAmBeR, leider lassen sich + - * und / nicht in singlevariablen zusammen fassen. ich habe ja eine zeichenfolge also einen string der berechnet werden soll. das ganze stammt übrigens aus einem textfeld in das nur zahlen und rechenzeichen eingegeben werden können, aber trotzdem .
 
Zuletzt bearbeitet von einem Moderator:
hmm,

@Kamber
süss ;)

@computersteffen
mit EVAL kann man Code im Programm ausführen lassen . Sprich, wenn du einen String hat der Code enthält dann kannste eval(string) ausführen und dann wird genau gemacht was du suchst.

Allerdings nur in php.

@Kamber (2)
Hast du verstanden um was es geht bevor dudeinen Code gepostet hast ?
 
JOEIH, kannst du mir vielleicht mal einen beispielcode, der parst posten? Hab nämlich keine Ahnung, wie ich sowas umsetzen kann. Hab dazu auch noch nix passendes hier gefunden. danke schon mal im voraus.
 
Zurück