asp.net 获取银行货币汇率的代码

 更新时间:2010年12月28日 19:23:45   作者:  
这个主要公司做外贸的每天都需要更新汇率,本来以前有一个服务可以调用,但是那个连接用不了 所以就写了一个这样的东西 套取网页显示信息
复制代码 代码如下:

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

相关文章

  • .NET适配HarmonyOS进展的方法

    .NET适配HarmonyOS进展的方法

    本文介绍了.NET适配鸿蒙系统(HarmonyOS)的进展,包括运行时选择、NativeAOT支撑、已知问题及解决办法等,作者详细分享了在移植Avalonia到HarmonyOS过程中遇到的问题及其解决方案,感兴趣的朋友一起看看吧
    2025-03-03
  • 在ASP.NET中用存储过程执行SQL语句

    在ASP.NET中用存储过程执行SQL语句

    存储过程:是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
    2010-04-04
  • asp.net截屏功能实现截取web页面

    asp.net截屏功能实现截取web页面

    这篇文章主要介绍了asp.net截屏功能实现截取web页面,是非常实用的一个功能,需要的朋友可以参考下
    2014-08-08
  • 使用asp.net改变网页上图片颜色比如灰色变彩色

    使用asp.net改变网页上图片颜色比如灰色变彩色

    要能在网站上改变图片的颜色,比如灰色的变成彩色,彩色的变成灰色多好啊,下面是通过asp.net实现的,有需求的朋友可以参考下
    2014-08-08
  • asp.net GridView 中增加记录的方法

    asp.net GridView 中增加记录的方法

    在 ASP.NET 2.0 中,GridView 支持修改/删除记录,但却不支持新增记录的功能(个人感觉是 GridVew 的一大缺憾,估计在下一版本中会加入此功能)
    2009-03-03
  • asp.net下ajax.ajaxMethod使用方法

    asp.net下ajax.ajaxMethod使用方法

    使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法,做一些JS无法做到的操作,如查询数据库
    2011-10-10
  • 在asp.net中操作sql server数据库的一些小技巧

    在asp.net中操作sql server数据库的一些小技巧

    在asp.net中操作sql server数据库的一些小技巧...
    2006-09-09
  • asp.net 票据简单应用

    asp.net 票据简单应用

    asp.net票据应用实例代码。
    2009-03-03
  • ASP.NET打开新页面而不关闭原来的页面 实例代码

    ASP.NET打开新页面而不关闭原来的页面 实例代码

    这篇文章介绍了ASP.NET打开新页面而不关闭原来的页面 实例代码,有需要的朋友可以参考一下,希望对你有所帮助
    2013-07-07
  • ASP.NET MVC为用户创建专属文件夹

    ASP.NET MVC为用户创建专属文件夹

    这篇文章介绍了ASP.NET MVC为用户创建专属文件夹的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08

最新评论