我尝试过像这样解析双倍:
CultureInfo cultureInfo = new CultureInfo("");
cultureInfo.NumberFormat.NumberDecimalSeparator = ",";
if (double.TryParse("9,27823508234186E", NumberStyles.Float, cultureInfo, out a))
{...}
我无法使用Math.Round。我用过"。"和",",我使用了不同的NumberStyles。 我尝试通过添加" 0"在" E"之后,这是有效的,但每次添加零都是不好的做法。
答案 0 :(得分:0)
对要解析的字符串使用TrimEnd()函数:
if (double.TryParse("9,27823508234186E".TrimEnd('E'), NumberStyles.Float, cultureInfo, out a))
{...}
这将削减所有" E"从字符串的结尾。此外,如果您在没有" E"的数字上使用它,则不会抛出任何异常。在末尾。它什么都不做。