时间:2016-02-15 21:59 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 获取银行货币汇率的代码】,下面是详细的讲解!
asp.net 获取银行货币汇率的代码
class ExchangeRate
{
private const string _BASEURL="网页地址";
public const string CURRENCYCODE="货币类型以'|'隔开";//货币类型
public Hashtable GetValues()
{
Hashtable htReturn=new Hashtable();
string url=_BASEURL; //+ HttpUtility.UrlEncode(tmSet.ToString("yyyy/MM/dd", DateTimeFormatInfo.InvariantInfo));
WebClient wc=new WebClient();
string sHtml=wc.DownloadString(url);
string sXml=string.Empty;
int iValueCnt=CURRENCYCODE.Split(new char[] { '|' }, 10, StringSplitOptions.RemoveEmptyEntries).Length;
string[] sTBody=sHtml.Split(new string[] { "<tbody>", "</tbody>" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string ss in sTBody)
{
if (ss.Contains("Currency Name"))
{
string[] sbrs=ss.Split(new string[] { "</tr>" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string sbr in sbrs)
{
string scur=string.Empty;
double dRate=GetCurrencyRate(sbr, out scur);
if (dRate !=0.0 && !string.IsNullOrEmpty(scur))
{
htReturn.Add(scur, dRate * 0.01);
if (htReturn.Count >=iValueCnt)
break;
}
}
break;
}
}
return htReturn;
}
private double GetCurrencyRate(string source, out string sCurrency)
{
sCurrency=string.Empty;
string sPattern=@"<td.+?>(.+?)</td>";
foreach (Match m in Regex.Matches(source, sPattern))
{
string ss=m.Groups[1].Value;
if (IsNumeric(ss))
return double.Parse(ss);
else
{
if (CURRENCYCODE.Contains(ss))
sCurrency=ss.Trim();
else
break;
}
}
return 0.0;
}
public static bool IsNumeric(string str)
{
if (string.IsNullOrEmpty(str)) return false;
System.Text.RegularExpressions.Regex reg=new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.|,]?\d*$");
return reg.IsMatch(str);
}
}
关于asp.net 获取银行货币汇率的代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
