读书人

string转double错误提示未处理的for

发布时间: 2012-05-31 12:19:24 作者: rapoo

【求助】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]拖到监视窗口,看看值是什么。。。。

读书人网 >C#

热点推荐