String zu Double konvertieren
-
Du erwartest aber jetzt nicht wirklich das da 10 bei rauskommt, oder?
Ich würde wie t2b schon gesagt hat, dass Problem ganz anders angehen.
So vielleicht...
String^ _Szahl1 = "5,12"; String^ _Szahl2 = "5,89"; double _zahl1 = Convert::ToDouble(_Szahl1); double _zahl2 = Convert::ToDouble(_Szahl2); double _ausgabe = Convert::ToDouble(_zahl1 + _zahl2); MessageBox::Show(_ausgabe.ToString());
Nur ein Vorschlag, der Code könnte auch gekürzt werden, lässt sich dann aber nicht mehr so gut lesen...
Gruß
-
Ich bin erst seid zwei Wochen beim programmieren, deswegen wahrscheinlich meine etwas naive Frage. Aber es erschien mir irgendwie logisch, währe halt eine etwas einfachere Lösung.
-
Wie kann ich aber den Benutzer des Programms gleich einen ganzen Rechenweg eingeben lassen. Und das ganze erst später auswerten lassen. Weil jede Eingabe in eine textBox ist ja automatisch ein String, oder?
Das ganze hätte für mich den Vorteil das dabei die Punkt vor Strich Regel gelten würde.Gruß
Alex
-
würde es mit einem Arry funktionieren?
-
Canja1986 schrieb:
Wie kann ich aber den Benutzer des Programms gleich einen ganzen Rechenweg eingeben lassen. Und das ganze erst später auswerten lassen. Weil jede Eingabe in eine textBox ist ja automatisch ein String, oder?
Das ganze hätte für mich den Vorteil das dabei die Punkt vor Strich Regel gelten würde.Gruß
AlexDas wird schwierig, ich würde den String mit Spilt zerlegen und nach + - * / durchsuchen.
Ich habe im Moment keine andere Lösung, hatte sowas noch nicht machen müssen.
Mein Chef hatte bis jetzt noch nicht sowas für mich...
-
Das ist nicht trivial wenn komplexe Ausdrücke verwendet werden sollen. Ich würde hier versuchen eine Fertiglösung einzubauen:
http://www.google.de/search?hl=de&q=.NET+Math+Expression+Parser&btnG=Suche&meta=
-
Doug_HH schrieb:
Du erwartest aber jetzt nicht wirklich das da 10 bei rauskommt, oder?
Hast recht..bei ANSI wäre das kein Ding
also:a = Convert::ToInt32(Console::ReadLine());
b = Convert::ToInt32(Console::ReadLine());Console::WriteLine("Ergebnis: " +(a+b))
-
t2b schrieb:
Hast recht..bei ANSI wäre das kein Ding
also:a = Convert::ToInt32(Console::ReadLine());
b = Convert::ToInt32(Console::ReadLine());Console::WriteLine("Ergebnis: " +(a+b))
Hab ich das nicht richtig verstanden oder Du?
Canja1986 möchte haben...String^ _zahl = "5+5"; Console::WriteLine("{0}", _zahl);
Ausgabe:
10Das ist die Kurzform.
Oder hab ich das falsch verstanden?
-
Ja ich habe den Rechenweg als String gespeichert z.B. "5+5"
Und möchte den Stringwert "5+5" berechnen lassen also Ergebniss 10.Also allgemein einen Rechenweg der als String gespeichert ist, vom Programm berechnen lassen.
-
Die Lösung wurde doch schon von witte gepostet:
http://www.google.de/search?hl=de&q=.NET+Math+Expression+Parser&btnG=Suche&meta=