C# 如何解析";0.0000e+;000“;变成浮球/双球?

C# 如何解析";0.0000e+;000“;变成浮球/双球?,c#,.net,C#,.net,我尝试了以下方法: string val = "0.0000e+000"; float.Parse(val); …但得到了一个格式异常。所以我想知道:如何将这样一个值解析为float/double 您有一个与小数点不同的CultureInfo.CurrentCulture(当前区域性)。请尝试使用不变区域性对其进行分析: var x = Single.Parse("0.0000e+000", CultureInfo.InvariantCulture); 为了说明这个问题:如果你是俄罗斯人

我尝试了以下方法:

string val = "0.0000e+000";
float.Parse(val);
…但得到了一个
格式异常
。所以我想知道:如何将这样一个值解析为float/double


您有一个与小数点不同的
CultureInfo.CurrentCulture
(当前区域性)。请尝试使用不变区域性对其进行分析:

var x = Single.Parse("0.0000e+000", CultureInfo.InvariantCulture);

为了说明这个问题:如果你是俄罗斯人,你当前的文化将设置为
ru
。然后,以下操作失败:

FormatException:输入字符串的格式不正确


如果你是法国人(
fr
),它也会失败。对于某些其他区域性,它可能也会失败。

您有一个与小数点不同的
CultureInfo.CurrentCulture
(当前区域性)。请尝试使用不变区域性对其进行分析:

var x = Single.Parse("0.0000e+000", CultureInfo.InvariantCulture);

为了说明这个问题:如果你是俄罗斯人,你当前的文化将设置为
ru
。然后,以下操作失败:

FormatException:输入字符串的格式不正确


如果你是法国人(
fr
),它也会失败。对于其他一些文化也可能失败。

代码
var x=Single.Parse(“0.0000e+000”)运行时不会在新项目中引发异常。你能在上下文中发布更多的代码吗?
vard=Convert.ToDouble(“0.0000e+000”)用于检查您的值。正如@Cole所评论的,使用您提供的值的方法是可行的。导致异常的值是什么?代码
var x=Single.Parse(“0.0000e+000”)运行时不会在新项目中引发异常。你能在上下文中发布更多的代码吗?
vard=Convert.ToDouble(“0.0000e+000”)用于检查您的值。正如@Cole所评论的,使用您提供的值的方法是可行的。导致异常的值是什么?我认为当前区域性设置为
ru-ru
,因为异常本身谈论的是错误的格式(фааа)。说得好@克里斯蒂安·维切维奇:这只是一个猜测,因为这个例外在我看来是俄罗斯的。同样的问题在法语中也会出现,可能在其他一些语言中也会出现。仅供参考:ааааааааааааааааааа。用C#学习俄语:我认为当前的文化设置为
ru-ru
,因为异常本身谈论的是错误的格式(фааа)。说得好@克里斯蒂安·维切维奇:这只是一个猜测,因为这个例外在我看来是俄罗斯的。同样的问题在法语中也会出现,可能在其他一些语言中也会出现。仅供参考:ааааааааааааааааааа。用C#:D学习俄语