我正在尝试制作一个程序,使用实时汇率将给定货币兑换成另一种货币。 这是我从 Exchangeratesapi.io 获取数据的方式:
URL url = new URL("https://api.exchangeratesapi.io/latest?symbols=USD,GBP");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
代码返回当前汇率({"rates":{"USD":1.1029,"GBP":0.84183},"base":"EUR","date":"2020- 01-30"})
,但我不知道如何将 1.1029 代入方程。
最佳答案
“基础”是欧元。如果你查看他们的 github 页面 here您将在自述文件中看到,它显示“默认情况下,汇率以欧元报价。通过在请求中设置基本参数,以不同的货币报价。”这意味着如果您输入 100,则汇率为 100 欧元。因此,要找到另一个值,它将是:
金额 * 汇率 = 该符号的值(value)
在 100 欧元的例子中:
100 * 1.1029 = 110.29 美元。
编辑:根据您的评论进行更新。以下是如何使用 org.json 库获取该值,您可以在 here 中找到该库。 .
public static void main(String[] args) throws ParseException {
String jsonString = "{ \"rates\" : { \"USD\" : 1.1029, \"GBP\" : 0.84183 }, \"base\" : \"EUR\", \"date\" : \"2020-01-30\" }";
double rate = getExchangeRate(jsonString);
System.out.println(rate);
}
public static double getExchangeRate(String jsonInput) {
JSONObject object = new JSONObject(jsonInput);
double rate = object.getJSONObject("rates").getDouble("USD");
return rate;
}
输出:
1.1029
如果您不熟悉使用此类内容并且 JSON 让您感到困惑,我建议您阅读一些有关其工作原理的教程。一个好的开始是 here .
希望这会有所帮助!
关于java - 从java中的URL中提取实时汇率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59992513/