Я пытаюсь сделать конвертер доллара в евро. но как ни странно, он всегда возвращает 0. Предполагается, что пользователь, например, 10 dollars to euro
, а затем получается, сколько 10 долларов, чем в настоящее время, в евро. Это мой код, который у меня есть на данный момент.
Это мой текущий код
public void EUR_TO_usd(string clipboardText)
{
ActionResult actionResult = new ActionResult(clipboardText);
if (clipboardText.EndsWith(" dollar to euro"))
{
var parts = clipboardText.Split(' ');
if (parts.Length == 4)
{
if (double.TryParse(parts[0], out double amount))
{
if (parts[1] == "dollar" && parts[2] == "to" && parts[3] == "euro")
{
string url = "http://api.openrates.io/latest?base=USD";
string json = new WebClient().DownloadString(url);
var currency = JsonConvert.DeserializeObject<dynamic>(json);
double curAmount = amount * Convert.ToSingle(currency.rates.EUR);
actionResult.Title = clipboardText;
actionResult.Description = string.Format("{0:N2} {1} = {2:N2} {3}", amount, currency["base"], curAmount, "EUR");
}
}
}
}
единственное, что сработало, это поместил его в переключатель и создал переменную сумму со значением, подобным этому
case "dollar to euro":
{
string url = "http://api.openrates.io/latest?base=USD";
string json = new WebClient().DownloadString(url);
var amount = 1;
var currency = JsonConvert.DeserializeObject<dynamic>(json);
double curAmount = amount * (double)currency.rates.EUR;
{
actionResult.Title = clipboardText;
actionResult.Description = $"{amount:N2} {currency.@base} = {curAmount:N2} EUR";
}
}
return actionResult;
но я хочу, чтобы пользователь мог скопировать количество евро, как в моем первом примере, но это всегда возвращает 0. Как мне решить эту проблему?