我如何在最后用 "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" 的数字上使用它,这将不会引发任何异常。它什么都不做。
我试过像这样解析双精度:
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" 的数字上使用它,这将不会引发任何异常。它什么都不做。