我想将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()时,它不会返回任何内容。
答案 0 :(得分:1)
尝试:
dCurrentPrice[iLine] = double.Parse(sr.ReadLine(), System.Globalization.CultureInfo.InvariantCulture);
也许您在非美国计算机上,使用不同的小数点分隔符。