textBox-Frage
-
Danke. Ich will nun das Ergebniss in eine andere Textbox darstellen.
Offenbar werden aber nur Strings akzeptiert.
Wie kann ich dann Kommazahlen darstellen?Dies funktioniert nicht:
textBox3->Text=Convert::ToString(zahl);Ebensowenig
String^ str = String::Format("{0:0.00}",zahl);
-
WARUM funktioniert es nicht? Gibt es eine Fehlermelung? meine Kristallkugel ist gerade defekt...
-
Bei Eingabe von Kommazahlen erscheint folgendes:
Eine nicht behandelte Ausnahme des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.
Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.
-
Das ist ein Problem der _Eingabe_ und nicht der _Ausgabe_.... gebe halt ein Komma ein und keinen Punkt.... oder verwende die entsprechende Culture, die Du unterstützen möchtest. Schau dazu einfach die Hilfe zu double::Parse oder double::TryParse an....
Auch musst Du natürlich sicherstellen, dass Du eine Kommazahl hast (double) und keinen Integer.
-
Unbedingt lesen: http://www.c-plusplus.net/forum/263084
-
Mit cultures bin ich nicht vertraut.
Der Code sieht jetzt so aus. Was könnte falsch sein?
double zahl = double::Parse(textBox1->Text);
String^ str = String::Format("{0:0.00}",zahl);
MessageBox::Show(str);
-
Du gibst vermutlich "1.2" ein und nicht "1,2"...
-
Danke, aber daran liegt es nicht. Ich benutzt Kommazahlen. Das Ergebnis wird in der Messagebox zunächst auch richtig angezeigt, aber nach Click kommt die oben genannte Fehlermeldung.
Im Debug Fenster seht:
Eine Ausnahme (erste Chance) des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.Und im Autofenster:
strTextBoxContent "1,2" (rot geschrieben)
event_textalignchanged=<nicht definierter Wert> acceptReturn
-
Wenn NACH dem Klick der MsgBox die Meldung kommt, dann kann ja der Code BIS ZUR MsgBox nicht für den Fehler zuständig sein, oder?
-
Tatsache; der Fehler lag an einer anderen Stelle. Vielen Dank für die Hilfe.