/ / 1E-08 in Dezimalzahl [Duplikat] - c #, Dezimalzahl

1E-08 nach dezimal [duplizieren] - c #, dezimal

Mögliche Duplikate:
Eine Zahl aus der Exponentialnotation parsen
Unterstützt Decimal.Parse () die wissenschaftliche Notation?

Ich versuche, Werte wie 1E-08 in a umzuwandelndezimal in C #, da Dezimalzahlen der bevorzugte Datentyp für die Verarbeitung von Geldern sind, aber ich erhalte bei decimal einen Fehler. Würden Sie nicht zuerst in Floaten konvertieren und dann in Dezimalzahlen den Zweck besiegen?

Antworten:

3 für die Antwort № 1

Sie können versuchen mit: -

 decimal x = decimal.Parse("1E-08", NumberStyles.Float);

6 für die Antwort № 2

Ja, die Umwandlung in Float würde den Zweck in der Tat zunichte machen. Das Gute ist, dass Sie das hier nicht tun müssen!

Sie können eine Überladung für Parse verwenden, die einen NumberStyles-Bezeichner verwendet:

decimal d = decimal.Parse("1E-08",
System.Globalization.NumberStyles.AllowExponent);

Wenn Sie lediglich eine hartcodierte Dezimalzahl angeben, können Sie natürlich das Dezimal-Literal-Format verwenden:

decimal d = 1E-08M;