我正在尝试以Free Pascal编写一个小程序,该程序以JSON格式从Fixer.io获取当前汇率,并使用它们进行简单的货币转换。我已经了解了以下内容,它将汇率从GBP下载到波兰兹罗提,并将其打印到屏幕上。
{$mode objfpc}{$H+}
uses fphttpclient, fpjson, jsonparser;
Var
S : String;
J: TJSONData;
initialAmount, endAmount, rate: real;
begin
With TFPHttpClient.Create(Nil) do
try
S:=Get('http://api.fixer.io/latest?base=GBP');
finally
Free;
end;
J:= GetJSON(S);
writeln ('Current exchange rate of GBP to Polish złoty: ',J.FindPath('rates.PLN').AsFloat:2:2);
end.
我正在努力做的是将该汇率的值传递给一个可用于货币换算的变量。
与此类似:
rate := J.FindPath('rates.PLN').AsFloat:2:2;
writeln;
write ('Enter initial amount in GBP £');
readln (initialAmount);
endAmount := initialAmount * rate;
writeln (endAmount);
有什么建议?
除了两个问题外,您建议的代码看起来还不错。
我希望编译器报告第一个问题:删除:2:2
。IIRC,该标记保留用于该WriteLn
语句。
如果您阅读代码,第二个问题应该很明显:在最后一行,您正在打印费率而不是结束金额。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句