目前,我有一个美元汇率数据库>货币
+----------+---------+
| Currency | USDRate |
+----------+---------+
| USD | 1.00 |
| GBP | 0.7418 |
| SEK | 8.29 |
+----------+---------+
我一直在做的简单数学就是将 USD 转换为我网站上的另一种货币:
price * rate
但如果我想 GBP 到 USD ,我会尝试以下内容:
price * (rate - 1 * rate)
应该是这么简单的数学,但它完全让我失望。
答案 0 :(得分:2)
这个答案假设您有一张表格,其中一列货币的价格为GBP,您想将其转换为SEK,例如
prices
1.35
1.07
4.53
...
如果您想将英镑价格转换为SEK,您可以使用以下公式:
price * (1 / rate_GBP) * (rate_SEK) = price in SEK
要使用您的外汇表,您可以将价格表加入两次。这可以通过以下查询来实现:
SELECT
p.prices AS orig_price_gbp,
p.prices * (1 / r1.USDRate) * (r2.USDRate)
FROM table_prices p
INNER JOIN rates r1
ON r1.Currency = 'GBP'
INNER JOIN rates r2
ON r2.Currency = 'SEK';
这里没什么神奇之处;基本思路是将每个价格的源汇率和目的地货币汇率合在一起,然后运用公式来做外汇。