/ / 1E-08 na desatinné [duplicitné] - c #, desatinné

1E-08 na desatinné [duplicitné] - c #, desatinné

Možné duplicitné:
Rozoberajte číslo z exponenciálneho zápisu
Má Decimal.Parse () podporu vedeckého zápisu?

Snažím sa premeniť také hodnoty ako 1E-08 na adesatinné číslo v C #, pretože desatinné miesta sú prednostné dátové typy pre spracovanie finančných prostriedkov, ale dostanem chybu na decimal.Parse () "Vstupný reťazec nebol v správnom formáte." nebolo by to najskôr konvertovať na plavák a potom na desatinnú porážku účel?

odpovede:

3 pre odpoveď č. 1

Môžete skúsiť: -

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

6 pre odpoveď č. 2

Áno, prechod na float by skutočne porazil účel. Dobrá vec je, že tu nemusíte robiť!

Môžete použiť preťaženie pre Parse, ktoré má špecifikátor NumberStyles:

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

Samozrejme, ak zadávate iba tvrdé desatinné číslo, môžete použiť desiatkový doslovný formát:

decimal d = 1E-08M;