【求助】string转double异常,提示未处理的format异常
我想将一个txt文件中的数据读入内存中,可是运行的时候在
r["X"] = double.Parse(numbers[2]);
处提示异常啊,提示输入字符串的格式不正确。
这是什么情况啊,怎么解决啊?向高手请教
代码如下:
public GetDataClass() : base()
{
m_table = new DataTable("members");
m_table.Columns.Add("ID", typeof(string)); ID
m_table.Columns.Add("ItemName", typeof(string));
m_table.Columns.Add("X", typeof(double)); // X坐标
m_table.Columns.Add("Y", typeof(double)); // Y坐标
m_table.Columns.Add("ItemSate", typeof(string));
}
/// <summary>
/// 将txt读入内存
/// </summary>
/// <param name="filePathName"></param>
public DataTable ReadTxtToMem(string filePathName)
{
string str;
StreamReader streamreader = new StreamReader(filePathName);
while ((str = streamreader.ReadLine()) != null)
{
DataRow r = m_table.NewRow();
string[] numbers = str.Split(new char[] { ',' });
r["ID"] = numbers[0];
r["ItemName"] = numbers[1];
r["X"] = double.Parse(numbers[2]);
r["Y"] = double.Parse(numbers[3]);
r["ItemSate"] = numbers[4];
m_table.Rows.Add(r);
}
streamreader.Close();
return m_table;
}
------解决方案--------------------
string[] numbers = str.Split(new char[] { ',' });
你在这句加个断点不就知道numbers里面是什么了 看看第三个数numbers[2]是什么值
------解决方案--------------------
设置断点到:r["X"] = double.Parse(numbers[2]);
F5运行到这里时,把numbers[2]拖到监视窗口,看看值是什么。。。。