3 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是一個(gè)浮點(diǎn)數(shù),您必須告訴它:
decimal d = Decimal.Parse("1.2345E-02", System.Globalization.NumberStyles.Float);

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您指定,它將起作用NumberStyles.Float:
decimal x = decimal.Parse("1.2345E-02", NumberStyles.Float);
Console.WriteLine(x); // Prints 0.012345
我不能完全確定為什么默認(rèn)情況下不支持此功能-默認(rèn)值為use NumberStyles.Number,它使用AllowLeadingWhite,AllowTrailingWhite,AllowLeadingSign,AllowTrailingSign,AllowDecimalPoint和AllowThousands樣式??赡芘c性能有關(guān);我想指定一個(gè)指數(shù)是相對(duì)罕見的。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
除了指定NumberStyles外,我還建議您使用decimal.TryParse函數(shù),例如:
decimal result;
if( !decimal.TryParse("1.2345E-02", NumberStyles.Any, CultureInfo.InvariantCulture, out result) )
{
// do something in case it fails?
}
作為NumberStyles的替代方法,只要確定格式,任何人都可以使用特定的集合。例如:
NumberStyles.AllowExponent | NumberStyles.Float
- 3 回答
- 0 關(guān)注
- 526 瀏覽
添加回答
舉報(bào)