用科学计数法解析小数

tau*_*tau 4 c# parsing decimal

我有点困惑,为什么NumberStyles.AllowExponent单独不能用科学记数法解析我的小数.

这引发了一个异常:

Decimal.Parse("4.06396113432292E-08",
    System.Globalization.NumberStyles.AllowExponent)
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

Decimal.Parse("4.06396113432292E-08",
    System.Globalization.NumberStyles.AllowExponent
    | System.Globalization.NumberStyles.Float)
Run Code Online (Sandbox Code Playgroud)

我没有看到NumberStyle.Float添加的内容(我不理解它上面的MSDN文档).

Blo*_*ard 5

来自MSDN:

NumberStyle.Float
指示使用AllowLeadingWhite,AllowTrailingWhite,AllowLeadingSign,AllowDecimalPoint和AllowExponent样式.这是一种复合数字样式.

如果不允许小数点,4.06...则不会解析.

请注意,NumberStyle.Float还包括AllowExponent,因此您无需单独指定.这应该是独立的:

Decimal.Parse("4.06396113432292E-08", System.Globalization.NumberStyles.Float)
Run Code Online (Sandbox Code Playgroud)