我尝试了以下方法:
string val = "0.0000e+000";
float.Parse(val);
...但有一个FormatException
. 所以我想知道:如何将这样的值解析为浮点数/双精度数?
您有一个CultureInfo.CurrentCulture
小数点不同的(当前文化)。尝试用不变的文化来解析它:
var x = Single.Parse("0.0000e+000", CultureInfo.InvariantCulture);
为了说明问题:如果您是俄罗斯人,您当前的文化将设置为ru-RU
. 然后以下失败:
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.GetCultureInfo("ru-RU");
var x = Single.Parse("0.0000e+000");
FormatException : 输入字符串的格式不正确。
如果你是法国人 ( fr-FR
),它也会失败。对于其他一些文化,它也可能会失败。