嗨,我无法将从Google财经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;
GetData方法
private string GetData(XmlDocument doc2, string strElement)
{
XmlNodeList xnodelist5 = doc2.GetElementsByTagName(strElement);
XmlNode xnode5 = xnodelist5.Item(0);
return Get_Attribute_Value(xnode5, "data");
}
错误
答案 0 :(得分:1)
数据属性的值可能是非数字或未指定。使用TryParse方法或使用try..catch .. block包装代码。
decimal currentPrice;
if(decimal.TryParse(currentPrice1.Text, out currentPrice))
{
//
}
如果data属性的值为整数,则使用int.TryParse
。
答案 1 :(得分:0)
查看代码的打印屏幕curentPrice1.Text可能有空或空或某些非数字
所以请做
int currentPrice = 0;
if(!string.IsEmptyOrNull(currentPrice1.Text))
{
int price = 0;
if(int.TryParse(currentPrice1.Text, out price))
{
currentPrice = price ;
}
}