读书人

C# string转换为double的奇怪有关问题

发布时间: 2013-03-22 09:49:50 作者: rapoo

C# string转换为double的奇怪问题
从文本中读取字符串保存在字符串数组中,给定一个double值,找出第一个比给定值大的数,输出这个数的索引。把字符串转化为double时却出错了,使用double.parse()方法和convert.todouble()方法都提示输入字符串错误,怎么回事?代码如下:
private void button1_Click(object sender, EventArgs e)
{
string path = @"E:\1.txt";
string[] s1=new string[100];
if (File.Exists(path))
{
int i = 0;
using (StreamReader sr = File.OpenText(path))
{
string s = " ";
//从当前流中读出一行字符并将数据作为字符串返回
while ((s = sr.ReadLine()) != null)
{
s1[i] = s;
i++;
}

}
}
double x = 805.445;

for (int j = 0; j < s1.Length;j++)
{
if ( x < Convert.ToDouble( s1[j]))
{
textBox1.Text = j.ToString();
}
break;
}

}

错误如下:

C# string转换为double的奇怪有关问题








[解决办法]


你监视一下 当前这个s1[j]的值是什么?
[解决办法]

引用:
引用:你监视一下 当前这个s1[j]的值是什么?



是string类型啊

Convert.ToDouble( s1[j])
=>
Convert.ToDouble( s1[j].Trim())
[解决办法]
引用:
引用:
你监视一下 当前这个s1[j]的值是什么?



是string类型啊

很明显结尾有一个空格的呢,正常情况下,是可以这样转的。
[解决办法]
楼上正解,楼主没有仔细看s1[j]的字符,最后有一个空格

读书人网 >C#

热点推荐