Sql server 在Microsoft SQL Server[C#]上转换.ToDouble时出现异常

Sql server 在Microsoft SQL Server[C#]上转换.ToDouble时出现异常,sql-server,converter,Sql Server,Converter,我有一个程序,它首先使用MAX语句从SQL Server数据库获取最高值 它得到类似于:456.325。我将“.”改为“,”并删除所有空白 我完全相信这个字符串可以转换成双精度的,因为它在我自己的笔记本电脑上工作 但是,当我在服务器(2008 R2)上运行该软件时,它无法工作。我得到一个格式异常。我尝试了Double.ParseTo,但也不起作用 代码: 可能是因为服务器上的.NET版本吗?您的笔记本电脑和服务器上有不同的区域设置 您必须指定区域性IFormatProvider以获得一致的结果。

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

它得到类似于:
456.325
。我将“.”改为“,”并删除所有空白

我完全相信这个字符串可以转换成双精度的,因为它在我自己的笔记本电脑上工作

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

代码:


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

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


您必须指定区域性IFormatProvider以获得一致的结果。

但为什么用逗号代替点,这仍然有意义吗?
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");
}