.net - double.Parse(string) 的值错误

标签 .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(),但没有成功。

请帮忙!

最佳答案

这个对我有用:

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

您可能在使用 , 作为十进制分隔符和 . 作为千位分隔符的语言环境中运行。
因此,它被视为 8,493,151E-2 ,实际上相当于 84,931.51

将其更改为
double value = double.Parse("8.493151E-2", CultureInfo.InvariantCulture);

关于.net - double.Parse(string) 的值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238108/

相关文章:

c# - 使 .NET SqlConnection 不使用 Windows session 凭据

c# - 时区查找

xml - 使用 XSLT 转换 XML 并保留 CDATA(在 Ruby 中)

java - 如何通过负 int 值检查退出 Double ArrayList 的 While 循环?

java - 如何从 double 中删除尾随零

c# - 加载和使用字典项目的最佳实践?

c# - 有没有办法配置这个 Task.WhenAll Select 使用匿名方法?

javascript - Chrome 扩展程序 - 解析 Gmail 邮件

javascript - 将 Carrage 返回转换为 br 标签

java - double 和 Java.lang.String -文本字段的问题