double.Parse(字符串)的值错误

时间:2010-07-13 14:21:18

标签: .net parsing double

我正在尝试将字符串转换为.Net 3.5中的double值。

目前相当容易
double.Parse(value);

我的问题是指数标签的值没有正确转换。 例如:

double value = double.Parse("8.493151E-2");

值应为= 0.0893151对吗? 但事实并非如此! 值是= 84931.51 !!!

怎么会这样? 我完全糊涂了!

我读了msdn库中的引用,它确认支持像“8.493151E-2”这样的值。我还尝试使用NumberStyles重载double.Parse(),但没有成功。

请帮忙!

1 个答案:

答案 0 :(得分:15)

它对我有用:

double.Parse("8.493151E-2");  
0.08493151

您可能在使用,作为小数点分隔符的区域设置和.作为千位分隔符的区域设置中运行。
因此,它被视为8,493,151E-2,实际上等同于84,931.51

将其更改为

double value = double.Parse("8.493151E-2", CultureInfo.InvariantCulture);