将7.346000E-001或7.3460000E + 000转换为Double

时间:2012-08-07 12:20:05

标签: c# visual-studio-2010 double type-conversion exponential

我正在尝试将字符串值转换为Double但我会收到错误,说明格式不正确。

我的字符串表示如下:7.346000E-0017.3460000E+000

是否有另一种方法来转换它们或者我需要将字符串截断为两部分并自己进行计算以获得真正的值?

2 个答案:

答案 0 :(得分:2)

使用CultureInfo.InvariantCulture

尝试double.parse
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR"); // just to simulate french culture
double d = double.Parse("7.3460000E-001",CultureInfo.InvariantCulture);
Console.Write(d);

答案 1 :(得分:1)

法国文化(我从你的个人资料中假设)使用逗号而不是点作为小数点分隔符。

此处描述的解决方案:C# float.tryparse for French Culture