Microsoft SQL Server上的Convert.ToDouble [C#]时出现异常

时间:2015-11-18 15:04:14

标签: sql-server converter

我有一个程序首先使用MAX语句从SQL Server数据库中获取最高值。

它类似于:456.325。我改变了"。"与","并删除每个空格。

我完全确定这个字符串可以转换为double,因为它可以在我自己的笔记本电脑上运行。

但是,当我在服务器(2008 R2)上运行该软件时,它并不起作用。我得到格式异常。我尝试了Double.ParseTo,但我也没有。

代码:

string str = "";
double d = 0;

while (dataReader.Read())
{
    str = String.Format("{0}", dataReader[0]);

}
str = str.Replace('.', ',');
str = str.Replace(" ", "");
try
{
    d = System.Convert.ToDouble(str);

}
catch (Exception ex)
{
    MessageBox.Show("Can't convert");
}

可以是因为服务器上的.NET版本吗?

1 个答案:

答案 0 :(得分:2)

您的笔记本电脑和服务器上有不同的区域设置。

您必须指定文化IFormatProvider才能获得一致的结果。