C# Double.Parse: Die Eingabezeichenfolge hat das falsche Format.

lordfritte

Lieutenant
Dabei seit
Juli 2006
Beiträge
837
Hallo, ich möchte einen double aus einem string parsen:
Code:
NumberStyles style = NumberStyles.AllowLeadingSign | NumberStyles.AllowDecimalPoint;
      CultureInfo culture = CultureInfo.InvariantCulture;
      string s = "5.11E+4";
      double zahl = double.Parse(s, style, culture);
Aber ich bekomme immer eine FormatException: Die Eingabezeichenfolge hat das falsche Format.
 
Zuletzt bearbeitet:

HaGGi.13

Ensign
Dabei seit
März 2008
Beiträge
215
Probiere es mal mit

Code:
double number = Convert.ToDouble(deinString);
Und wenn du mit der CultreInfo arbeiten willst dann würde es glaube so sein:

Code:
double number = double.Parse(deinString, CultureInfo.InvariantCulture.NumberFormat);

Ich glaube, dass ergibt aber nicht das Ergebnis, was du dir gewünscht hast...
 
Zuletzt bearbeitet:

refri89

Cadet 4th Year
Dabei seit
Mai 2010
Beiträge
95
NumberStyles style = NumberStyles.AllowLeadingSign | NumberStyles.AllowDecimalPoint;
CultureInfo culture = CultureInfo.InvariantCulture;
string s = "5.11E+4";
double zahl = double.Parse(s, style, culture);

Kenn mich auch mit C# nicht aus, aber wenns Dir nur darum geht eine double aus einem String zu bekommen, warum machst du nicht einfach

double zahl;
try
{
string s = "5.11E+4";
zahl = double.Parse(s);
}
catch(Exception fehler)
{...wenn du hier landest war der String keine gültige double...,Ende oder Fehlerausgabe}

print(zahl); (oder so)
...wenn du hier nach dem try/catch Block noch da bist, war der String eine gültige double und es kann weitergehen...

(wie gesagt kann kein C#, denke aber da gibt es auch ein try/catch wie in Java)
style und culture kenn ich nicht, das sind wahrscheinlich Formatschablonen, aber die brauchst erst mal nicht, wenn es wie gesagt nur darum geht aus einem String eine double zu ziehen...
 
Top