这让我疯了。我在一个ASP.NET 2.0 WebForm页面中有以下字符串。
string s = "0.009";
很简单。现在,如果我的语言环境是西班牙语 - 即“es-ES” - 并且我尝试将字符串转换为Double,我会执行以下操作:
double d = Double.Parse(s, new CultureInfo("es-ES"));
我希望得到的是0.009,但实际上得到了9。我知道.NET认为这是千位分隔符,在en-US中是逗号,但是它不应该使用我传递给解析方法的Culture Info并将正确的格式应用于转换吗?
如果我执行
double d = 0.009D;
string formatted = d.ToString(new CultureInfo("es-ES"));
formatted现在是0.009。有任何问题吗?