繁体   English   中英

流读取器将System.FormatException倍增

[英]Stream Reader to double System.FormatException

我想将yahoo csv股票价格转换为C#双数组。 这是我的代码:

WebRequest wrPrice = WebRequest.Create("http://finance.yahoo.com/d/quotes.csv?s=" + sSymbols + "&f=a"); //sSymbols zb. "AAPL+GOOG+MSFT"
    WebResponse wResp = wrPrice.GetResponse();
    StreamReader sr = new StreamReader(wResp.GetResponseStream());
    double[] dCurrentPrice = new double[iStockTableRows];
    int iLine = 0;
    while (sr.Peek() >= 0)
    {
        dCurrentPrice[iLine] = double.Parse(sr.ReadLine());
        iLine++;
    }
    sr.Close();

整数iStockTableRows是股票数量。 字符串sSymbols包含股票代号,它看起来像这样:“ AAPL + MSFT”

CSV文件如下所示:

128.61
544.98

当我运行它时,System.FormatException发生在此行:

dCurrentPrice[iLine] = double.Parse(sr.ReadLine());

首先,它起作用了,由于某种原因,同样的错误再次发生。 当我编写sr.ReadLine()时,它不返回任何内容。

尝试:

dCurrentPrice[iLine] = double.Parse(sr.ReadLine(), System.Globalization.CultureInfo.InvariantCulture);

也许您在非美国计算机上,使用不同的小数点分隔符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM