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ď č. 1Môž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;