Kai*_*Kai 4 .net double parsing
我正在尝试将字符串转换为.Net 3.5中的double值.到目前为止很容易
double.Parse(value);
Run Code Online (Sandbox Code Playgroud)
我的问题是指数标签的值没有正确转换.例:
double value = double.Parse("8.493151E-2");
Run Code Online (Sandbox Code Playgroud)
该值应该是= 0.0893151对吗?但事实并非如此!值是= 84931.51 !!!
怎么可能?我完全糊涂了!
我读了msdn库中的引用,它确认支持像"8.493151E-2"这样的值.我还尝试使用NumberStyles重载double.Parse(),但没有成功.
请帮忙!
SLa*_*aks 15
这个对我有用:
double.Parse("8.493151E-2");
0.08493151
Run Code Online (Sandbox Code Playgroud)
您可能正在使用,小数分隔符和.千位分隔符的区域设置中运行.
因此,它被视为8,493,151E-2,实际上相当于84,931.51.
将其更改为
double value = double.Parse("8.493151E-2", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)