如何在将货币添加到数据网格时修复此错误



我正试图从windows窗体中的文本文件创建一个数据网格,但当我试图显示它时,我一直收到一个错误,我不知道如何修复。

我使用的文本文件包含以下内容:

1|2020-07-13|a|b|4|小时|$4.4|$17.6|$19.89

这是我用来填充数据网格的代码:

table.Rows.Clear();
string[] lines = File.ReadAllLines(filePath);
string[] values;

for (int i = 0; i < lines.Length; i++)
{
values = lines[i].ToString().Split('|');
string[] row = new string[values.Length];
for(int j = 0; j < values.Length; j++)
{
row[j] = values[j].Trim();
}
table.Rows.Add(row);
}

但每当我尝试运行它时,我都会按表获取此错误消息。Rows.Add(行(;:

System.ArgumentException:"输入字符串的格式不正确。无法存储<4.4>在单价栏中。应为Double类型。'

我真的不明白发生了什么,有人能帮我吗?

您正试图将字符($(作为双精度值一起传递,但无法将其转换为双精度值。您将收到一个异常。

您应该根据将收到的值创建DatTable的列。

DataTable workTable = new DataTable("Test");  
DataColumn workCol = workTable.Columns.Add("ID", typeof(Int32));

workTable.Columns.Add("Date", typeof(String));  
workTable.Columns.Add("var1", typeof(String));  
workTable.Columns.Add("var2", typeof(String));
...

添加行之后。

试试看。

最新更新