Home  >  Article  >  Backend Development  >  asp.net code to obtain bank currency exchange rate

asp.net code to obtain bank currency exchange rate

高洛峰
高洛峰Original
2017-01-16 10:41:141726browse

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); 
} 
}

For more asp.net related articles on obtaining the bank currency exchange rate code, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn