Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#美元对欧元的转换总是返回0_C#_Json_Webclient_Clipboard - Fatal编程技术网

c#美元对欧元的转换总是返回0

c#美元对欧元的转换总是返回0,c#,json,webclient,clipboard,C#,Json,Webclient,Clipboard,我想做一个美元兑欧元的转换器。但奇怪的是,它总是返回0。其目的是,用户,例如,10美元兑换欧元,然后结果显示10美元比目前的欧元兑换多少这是我目前的代码 这是我的当前代码 public void EUR_TO_usd(string clipboardText) { ActionResult actionResult = new ActionResult(clipboardText);

我想做一个美元兑欧元的转换器。但奇怪的是,它总是返回0。其目的是,用户,例如,
10美元兑换欧元
,然后结果显示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");
                            }
                        }
                    }
                }
公开作废欧元兑美元(字符串剪贴簿文本)
{
ActionResult ActionResult=新的ActionResult(剪贴簿文本);
if(剪贴簿文本.EndsWith(“美元兑欧元”))
{
var parts=clipboardText.Split(“”);
如果(parts.Length==4)
{
if(双倍台巴色(部分[0],超出双倍金额))
{
如果(部分[1]=“美元”和部分[2]=“至”和部分[3]=“欧元”)
{
字符串url=”http://api.openrates.io/latest?base=USD";
string json=new WebClient().DownloadString(url);
var currency=JsonConvert.DeserializeObject(json);
double curAmount=金额*换算成单个(货币汇率欧元);
actionResult.Title=剪贴簿文本;
actionResult.Description=string.Format(“{0:N2}{1}={2:N2}{3}”,金额,货币[“基数],库拉索蒙特,“欧元”);
}
}
}
}
唯一有效的方法是将其放入开关中,并创建一个具有如下值的可变量

                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;
案例“美元兑欧元”:
{
字符串url=”http://api.openrates.io/latest?base=USD";
string json=new WebClient().DownloadString(url);
风险价值金额=1;
var currency=JsonConvert.DeserializeObject(json);
double curAmount=金额*(双)货币汇率欧元;
{
actionResult.Title=剪贴簿文本;
actionResult.Description=$“{amount:N2}{currency.@base}={curAmount:N2}EUR”;
}
}
返回操作结果;
但是我想要的是,用户可以像我的第一个例子中那样复制欧元的数量,但它总是返回0。
如何解决此问题?

我可能错了,但您似乎没有更改actionResult,只是更改了标题和描述。如果您只想返回一个int,我将使用
public int EUR\u to\u usd()
我将研究C#中的命名约定,因为函数名应该是而不是这样


当然,你需要用这个字符串调用你的函数。

你试过调试它吗?从你的
剪贴簿文本中读取的量是否正确?你期望的是
货币.rates.EUR
吗?在你的void方法中如何使用这个局部变量
actionResult
(现在你似乎设置了它并忽略了它)?在确保文本以“美元对欧元”结尾,并且拆分结果为4个值后,确保最后三个值为“美元”“欧元”和“欧元”是无意义的。然后我该怎么做@juharr删除最后一个
如果
,因为到那时它将始终为真。