私はC#で非常に良い通貨クラスを使用しています。クラスは正常に機能していますが、USDをIDR(ルピアインドネシア語)に変換する必要がある場合、このエラーが発生します
"{lhs: \"1,0 U.S. dollar\",rhs: \"9 708,73786 Indonesian rupiahs\",error: \"\",icc: true}"
問題は9708,73786のスペースから発生します。スペースをなくす必要があると思います。これはクラスに関するコードです:
public static class CurrencyConverter
{
public static string Convert(decimal amount, string from, string to)
{
WebClient web = new WebClient();
string url = string.Format("http://www.google.com/ig/calculator?hl=en&q={0}{1}=?{2}", amount, from.ToUpper(), to.ToUpper());
string response = web.DownloadString(url);
Regex regex = new Regex("rhs: \\\"(\\d*(.|,)\\d*)");
Match match = regex.Match(response);
return System.Convert.ToDecimal(match.Groups[1].Value).ToString();
}
}
}
おそらく正規表現を変更する必要がありますが、どのような変更があるのかわかりません。
new Regex("rhs: \\\"(\\d*(.|,)\\d*)")
これは、Visual Studio 2010(Windowsフォーム)のスクリーンショットです。