C# 在C语言中使用Excel双值#

C# 在C语言中使用Excel双值#,c#,excel,visual-studio,double,C#,Excel,Visual Studio,Double,我正试图将Excel中的两个值添加到我的C#项目中。但是,当我尝试这样做时,VisualStudio会自动删除逗号/句点,并显示没有逗号/句点的数字 例如: Excel:192168或192.168 C#:192168,00 我怎样才能防止这种情况发生 Excel获取值代码: for (int i = 0; i < dataGridView1.ColumnCount; i++) { for (int j = 0; j < dataGridView1.Rows.Count - 1

我正试图将Excel中的两个值添加到我的C#项目中。但是,当我尝试这样做时,VisualStudio会自动删除逗号/句点,并显示没有逗号/句点的数字

例如:

Excel:192168或192.168

C#:192168,00

我怎样才能防止这种情况发生

Excel获取值代码:

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
   for (int j = 0; j < dataGridView1.Rows.Count - 1; j++)
   {
      tsp.addArray(Convert.ToDouble(ds.Tables["Deneme"].Rows[i][j].ToString()), i, j);
   }
}
for(int i=0;i
我认为你的文化是
tr
,这就是为什么你的文化是
不是

这就是为什么当你在你的程序中写192.168时,它读作十万九万二千。。。但是当你写19216892的时候

如果excel单元格类似于
192168
,则没有问题。完全按照你想要的方式工作

string s = "192,168";
double d = Convert.ToDouble(s, CultureInfo.GetCultureInfo("tr-TR"));
Console.WriteLine(d); //192,168
但是如果您的excel单元格类似于
192.168
,那么您需要使用
n0
格式,如:

string s = "192.168";
double d = 0;
if(s.Contains("."))
{
    d = Convert.ToDouble(s, CultureInfo.GetCultureInfo("tr-TR"));
}
Console.WriteLine(d.ToString("n0")); //192.168

我想替换是个好办法

就这样试试吧

string oldString = ds.Tables["Deneme"].Rows[i][j].ToString(); // Old string in addArray.
string convertedString = oldString.Replace(".",","); // Replacer for dots.
double convertedDouble = Convert.ToDouble(convertedString); // Convert double now.