Ausnahme beim Parsen negativer doppelter Zahlen in C #

Ich programmiere einen Code, der einige Daten aus einer Datenbank extrahiert. Und das Problem ist, dass ich eine negative Zahlenfolge "-2,8" in ein Double konvertieren möchte. Ziemlich einfach, dachte ich. Ich habe es zuerst versucht mit:

var climateString = "−2.8";
var number = double.Parse(climateString);

Mit diesem Ergebnis:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Also überlegte ich noch einmal, suchte bei Google und bekam eine neue Antwort:

var climateString = "−2.8";
var styles = NumberStyles.AllowParentheses | NumberStyles.AllowTrailingSign |NumberStyles.Float | NumberStyles.AllowDecimalPoint;
var rit = double.Parse(climateString, styles);

Wieder ein epischer Fehler:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Ich dachte noch einmal, ich kann nicht so dumm sein, nicht zu wissen, wie man eine so einfache Aufgabe erledigt. Ich habe es versucht:

 var climateString = "−2.8";
 var doue = Convert.ToDouble(climateString, CultureInfo.InvariantCulture);

Ja, genau die gleiche Ausnahme nochmal. Ich fing an, die Zahl zu suchen und erkannte das negative Vorzeichen. Schauen Sie sich diese Zahl genau an. "−2.8" Dies ist keine negative Zahl. Dies ist eine negative Zahl "-2,8". Schauen Sie sich diese Zeichen noch einmal an "----- −−−−−" nicht dasselbe. Das Parsen einer Zeichenfolge mit einem anderen Vorzeichen löst eine Ausnahme aus: S. Also hat jemand eine Idee, wie man sie elegant in C # zu einer doppelten Zahl parst? Danke!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage