C# 如何在C中通过一次调用将可转换为double的对象转换为区域性不变字符串#

C# 如何在C中通过一次调用将可转换为double的对象转换为区域性不变字符串#,c#,casting,type-conversion,C#,Casting,Type Conversion,根据RDBMS的不同,ADO.NET DataRow对象可以具有不同的列类型。例如Oracle/SQLServer。然而,一个真正的,它总是可以转换为双与 DataRow row = GetDataRow(id); double x = Convert.ToDouble(row["X"]); 但我真的需要做以下几点: DataRow row = GetDataRow(id); double x = Convert.ToDouble(row["X"]); string xStr = x.ToS

根据RDBMS的不同,ADO.NET DataRow对象可以具有不同的列类型。例如Oracle/SQLServer。然而,一个真正的,它总是可以转换为双与

DataRow row = GetDataRow(id);
double x = Convert.ToDouble(row["X"]);
但我真的需要做以下几点:

DataRow row = GetDataRow(id);
double x = Convert.ToDouble(row["X"]);
string  xStr = x.ToString(CultureInfo.InvariantCulture);

或者有更好的方法吗?

除了创建扩展方法之外,还有一行


这行吗?我相信,
InvariantCulture
是正确的方法。这样做的目的是什么?为什么第[“X”]行。ToString()不是选项?@TimSchmelter:你不识字吗?我可以像我在标题中要求的那样直接打一个电话吗?@Reniuz:因为根据当前的文化,它可以是1,23或1.23。强制使用句号,而不是逗号。这真的值得回答吗?如果这是答案,那就不是一个有效的问题。不,不是。它应该是:
string x=Convert.ToDouble(GetDataRow(id)[“x”]).ToString(CultureInfo.InvariantCulture)那么。@TMcKeown:谢谢你的回答,但这和我在问题中所想的是一样的。我感兴趣的是通过一次调用将对象转换为字符串。或者主要是事实上是可能的。在我的研究中,扩展方法确实是最好的选择。。。(如我的回答所示)=)
string x = Convert.ToDouble(row["X"]).ToString(CultureInfo.InvariantCulture);