Laden...

Wie kann ich eine Expotenzialschreibweise in eine Zahl umwandeln?

Erstellt von Rico913 vor 3 Jahren Letzter Beitrag vor 3 Jahren 477 Views
R
Rico913 Themenstarter:in
95 Beiträge seit 2020
vor 3 Jahren
Wie kann ich eine Expotenzialschreibweise in eine Zahl umwandeln?

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 😦

L
11 Beiträge seit 2019
vor 3 Jahren

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.

R
Rico913 Themenstarter:in
95 Beiträge seit 2020
vor 3 Jahren

Hab es gelöst bekommen:


double num;
 decimal Zahl_dec;
 double.TryParse(Zahl_exp, NumberStyles.Any, CultureInfo.InvariantCulture, out num);
Zahl_dec = ((decimal)num);

Hinweis von Abt vor 3 Jahren

Hat mit WinForms recht wenig zutun, daher in das Grundlagenforum verschoben

16.834 Beiträge seit 2008
vor 3 Jahren

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 😃