Hallo,
ich bekomme via Gui(Usereingaben) einfache Formel wie z.b. 2+23. Wenn ich diesen string splitte und ausrechne, kommt 12 heraus (Punkrechnung vor Strichrechnung wird nicht beachtet). Ich müsste also 23+2 rechnen. Da ich aber nicht weiss, was der User eintippt, gibt es beliebig viele Kombinationen.
Hat jemand eine einfache Lösung für dieses Problem?
Danke!
Benutze doch einen fertigen Parser wie z.B. Parser für mathematische Formeln
Du benötigst einen Parser für mathematische Ausdrücke. Man kann sich selbst einen bauen - hier im Forum ist das Thema ebenfalls nicht sooooo selten - oder eine der Framework-Klassen benutzen, die so etwas bereits bieten.
...oder das ScriptControl benutzen (Verweis hinzufügen -> "COM" -> "Typbibliotheken" -> "Microsoft Script Control 1.0")
ScriptControl script = new ScriptControl { Language = "VBScript" };
Console.WriteLine(script.Eval("2 + 2 * 3"));
Gibt noch etliche andere Möglichkeiten.
LaTino