日期:2014-05-17  浏览次数:20993 次

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;
            }
         
        }

错误如下: