我如何在最后用 "E" 解析字符串 double?

How I can parse string double with "E" at the end?

我试过像这样解析双精度:

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

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

对您正在解析的字符串使用 TrimEnd() 函数:

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

这将从字符串末尾 trim 全部 "E"。此外,如果您在末尾没有 "E" 的数字上使用它,这将不会引发任何异常。它什么都不做。