如何将字符串解析为Double

Tho*_*eld 3 c# double parsing

这是我的字符串

  20.0e-6
Run Code Online (Sandbox Code Playgroud)

我正在解析它

String Ans=Double.Parse("20.0e-6")
Run Code Online (Sandbox Code Playgroud)

现在我得到了结果, 2E-05 但所需的输出应该是这样的 0.00002

怎么弄这个?

Ode*_*ded 10

结果Double.Parse是a Double,而不是字符串.您需要使用输出double中的字符串ToString.

您还应该使用Double.Parse具有NumberStyles参数的重载.使用该Float值可以使用指数表示法:

string Ans=Double.Parse("20.0e-6", NumberStyles.Float).ToString("0.#####");
Run Code Online (Sandbox Code Playgroud)

如果您不想冒例外风险(InvlidCastException例如),您可以使用TryParse:

Double res;
if (Double.TryParse("20.0e-6", NumberStyles.Float, 
                    CultureInfo.InvariantCulture ,res))
{
  string Ans = res.ToString("0.#####");
}
Run Code Online (Sandbox Code Playgroud)

  • 我建议在Double上使用TryParse方法(最佳实践和所有). (2认同)