5

我的应用程序在用 C#.Net 编码的 Asp.Net MVC3 中。我使用谷歌货币转换 API 来获取转换。

Google Currency Conversion API 我将From CurrencyTo Currency值以及金额传递给我的控制器。下面是我的 C# 代码。

    WebClient web = new WebClient();
    string url = string.Format("http://www.google.com/ig/calculator?hl=en&q={2}{0}%3D%3F{1}", CurrenctCurr.ToUpper(), DestinationCurr.ToUpper(), TotCurrentPay);
    string response = web.DownloadString(url);
    Regex regex = new Regex("rhs: \\\"(\\d*.\\d*)");
    Match match = regex.Match(response);
    decimal rate = Convert.ToDecimal(match.Groups[1].Value);

我在网上遇到错误

decimal rate = Convert.ToDecimal(match.Groups[1].Value.ToString());

错误是输入字符串格式不正确。没有内部异常。

我尝试将其转换为 toString()

   decimal rate = Convert.ToDecimal(match.Groups[1].Value.ToString());

我也尝试在字符串变量中获取匹配值,然后尝试对其执行 SubString 逻辑。但它也不起作用

string test = match.ToString();
test=test.substring(0,test.Indexof("""));

有一个引号(“),所以我试图将字符串的值取到“。建议我如何解决这个问题。或者我还能在正确的方向尝试什么。

4

1 回答 1

0

试试这个来获取网址。

    Uri uri = new Uri(string.Format("http://www.google.com/ig/calculator?hl=en&q={2}{0}%3D%3F{1}", CurrenctCurr.ToUpper(), DestinationCurr.ToUpper(), TotCurrentPay));
    string url = uri.AbsoluteUri + uri.Fragment;
    string response = web.DownloadString(url);
于 2012-04-20T07:15:45.203 回答