c#我用streamreader读取文件,文件中的内容为双精度型,读取时是不是自动变成为string类型? 5

再把string类型的数据存入到double型数组,编译时无异常,运行后读取指定文件时提示Parse(s)处显示输入字符串的格式不正确。将一个字符串转换为DateTime... 再把string类型的数据存入到double型数组,编译时无异常,运行后读取指定文件时提示Parse(s)处显示输入字符串的格式不正确。将一个字符串转换为DateTime时,先分析该字符串以获取日期,然后再将每个变量放置到DateTime对象中。问题是我的数据里没有时间格式的数据,哪来的DateTime?
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(openFileDialog1.FileName);
Double[] Darray =new Double[200];
string s =Convert.ToString( sr.ReadLine());
int i = 0;
while (s != null)
{
Darray[i] = Double.Parse(s);
i++;
s=sr.ReadLine();
}

sr.Close();
}
这是怎么回事?
展开
 我来答
百度网友d242235
2012-11-13 · TA获得超过2387个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:854万
展开全部
你的代码表示读取一个文本文件,该文件内有200行数据,将这200行数据转换成double,存进一个长度为200的double数组中。如果出了错,表示你的文本文件格式存在问题,原因可能是其中并不包含200行数据,或者某行数据无法被转换成double类型,至于提示的DateTime的异常,你可以忽略,这属于.NET的误报,有时在转换Color类型的数据时,转换失败也会提示DateTime的异常。
追问
我的文件是用仪器检测出一组数据,是用double形式保存在文本文件中的,现在要读出来分析,但是无法读取里面也有指数,用vb时没啥错误,用c#就不行。
追答
跟语言没关系,还是你的代码有问题。先检查下你的文本文件数据吧。
学生阿成
2012-11-13 · TA获得超过2073个赞
知道小有建树答主
回答量:1070
采纳率:0%
帮助的人:698万
展开全部
你是先用Tostring转换成字符后,用Double.Parse转换成Doule类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-12
展开全部
首先:sr.ReadLine() 读出来的不一定是数字,Double.Parse(s);可能会报错,无法转化。
你要先确定 为数字字符串才能 转换。
你说的datatime的不太明白什么意思。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式