/ / 1E-08 do dziesiętnego [duplicate] - c #, decimal

1E-08 do dziesiętnego [duplicate] - c #, decimal

Możliwe duplikaty:
Parsuj liczbę z wykładniczej notacji
Czy funkcja Decimal.Parse () obsługuje notację naukową?

Próbuję przekonwertować takie wartości jak 1E-08 na adziesiętny w C #, ponieważ dziesiętne są preferowanym typem danych do obsługi funduszy, ale pojawia się błąd po dziesiętnym.Parse () "Ciąg wejściowy nie był w poprawnym formacie." czy najpierw nie przekształciłby się w pływak, a potem w dziesiętny pokonałby cel?

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz spróbować z: -

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

6 dla odpowiedzi nr 2

Tak, konwersja na float faktycznie pokonałaby cel. Dobrą rzeczą jest to, że nie musisz tego robić tutaj!

Możesz użyć przeciążenia do analizy, która przyjmuje specyfikator NumberStyles:

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

Oczywiście, jeśli po prostu określasz dziesiętnie zakodowane znaki, możesz użyć formatu dziesiętnego:

decimal d = 1E-08M;