货币兑换

Build Status Docs SPM Swift Version

Exchange 提供货币之间的汇率。它还可以将 MonetaryAmount 值转换为不同 Currency 值的货币。

安装

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/SoftwareEngineerChris/MonetaryExchange.git", from: "1.0.0")
]

解码 Fixer.io JSON 响应

可以直接从 Fixer.io 最新汇率 JSON 响应中解码 Exchange 。有关其 API 用法的更多信息,请参见 Fixer API 文档

使用 Fixer Extension 的示例

Exchange.Fixer.exchange(accessKey: "YourFixerAccessKey") { result in
    switch result {
        case let .success(exchange):
            // We have an Exchange value

        case let .failure(error):
            // Something went wrong. Dig into the error.
     }
}

有关更多信息,请参见 Exchange.Fixer 的文档。

直接使用 JSONDecoder 的示例

let exchange = try? JSONDecoder().decode(Exchange.self, from: fixerResponseData)

或者,可以使用基本货币和货币-汇率对的字典来构造 Exchange

交叉汇率

如果要在两种货币之间进行转换,而这两种货币都不是基本货币,但每种货币都具有针对基本货币的汇率,则将产生交叉汇率。

例如,如果基本货币是欧元,但请求的是英镑兑美元的汇率,则将使用交叉汇率。即,英镑兑欧元兑美元

有关更多信息,请参见 Collins Dictionary 对 交叉汇率 的定义。