Hi,
ich möchte eine Expotentialschreibweise in Double oder Float umwandeln, um weitere Berechnungen durchzuführen.
string Zahl_exp = 8,46667e-007;
double epot = double.Parse(Zahl_exp);
Zahl_dec = epot.ToString();
Leider funktioniert dies nicht, ich bekomme als Ergebnis: 0,0846667, was ja nicht stimmen kann. Müsste doch 0,000000846667 rauskommen, oder?
Im Netz bin ich nicht fündig geworden bzw. hat dies nicht zum Erfolg beigetragen 😦
Du musst den Punkt als Dezimaltrenner verwenden.
Außerdem musst du ein String-Literal immer in Anführungszeichen angeben, der Beispielcode sollte so gar nicht kompiliert werden können.
Hab es gelöst bekommen:
double num;
decimal Zahl_dec;
double.TryParse(Zahl_exp, NumberStyles.Any, CultureInfo.InvariantCulture, out num);
Zahl_dec = ((decimal)num);
Hat mit WinForms recht wenig zutun, daher in das Grundlagenforum verschoben
Warum verwendest nicht gleich decimal.TryParse?
Strings parsen gehört mit zu den besten dokumentierten Sachen überhaupt; hättest also locker einfach suchen können 😃
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code