2

嗨,我在乘以从谷歌金融 api 检索到的数据时遇到问题。我知道我现在正在做的事情是错误的,所以我想要一些关于如何去做的指示以及一些关于这方面的例子。

    string url = "http://www.google.com/ig/api?stock=" + Server.UrlEncode(symbol1.Text);
     XmlDocument xdoc = new XmlDocument();
     xdoc.Load(url);
     currentPrice1.Text = GetData(xdoc, "last");
     int quantity = 50;
     int currentPrice = int.Parse(currentPrice1.Text);
     int totalValue = quantity * currentPrice;

获取数据方法

private string GetData(XmlDocument doc2, string strElement)
{

    XmlNodeList xnodelist5 = doc2.GetElementsByTagName(strElement);
    XmlNode xnode5 = xnodelist5.Item(0);
    return Get_Attribute_Value(xnode5, "data");

}

错误 错误

4

2 回答 2

1

可能是数据属性的值不是数字或未指定。使用 TryParse 方法或使用 try..catch.. 块包装您的代码。

 decimal currentPrice;
 if(decimal.TryParse(currentPrice1.Text, out currentPrice))
  {
     //
   }

或者int.TryParse,如果数据属性的值为整数,则使用。

于 2012-07-19T10:56:21.157 回答
0

查看您的代码curentPrice1.Text 的打印屏幕可能有一个空或空或一些非数字

所以请做

int currentPrice = 0;

if(!string.IsEmptyOrNull(currentPrice1.Text))
{
   int price = 0;
   if(int.TryParse(currentPrice1.Text, out price))
   {
       currentPrice = price ;
   }
}
于 2012-07-19T10:59:13.840 回答