我如何用" E"解析字符串double。在末尾?

时间:2017-12-30 13:37:11

标签: c# parsing double exponent

我尝试过像这样解析双倍:

CultureInfo cultureInfo = new CultureInfo("");
cultureInfo.NumberFormat.NumberDecimalSeparator = ",";
if (double.TryParse("9,27823508234186E", NumberStyles.Float, cultureInfo, out a))
   {...}

我无法使用Math.Round。我用过"。"和",",我使用了不同的NumberStyles。 我尝试通过添加" 0"在" E"之后,这是有效的,但每次添加零都是不好的做法。

1 个答案:

答案 0 :(得分:0)

对要解析的字符串使用TrimEnd()函数:

if (double.TryParse("9,27823508234186E".TrimEnd('E'), NumberStyles.Float, cultureInfo, out a))
   {...}

这将削减所有" E"从字符串的结尾。此外,如果您在没有" E"的数字上使用它,则不会抛出任何异常。在末尾。它什么都不做。