数学汇率
Math exchange rates
目前我有一个汇率数据库,从 USD > Currency
+----------+---------+
| Currency | USDRate |
+----------+---------+
| USD | 1.00 |
| GBP | 0.7418 |
| SEK | 8.29 |
+----------+---------+
我一直在做的简单数学是将 USD 转换为我网站上的另一种货币:
price * rate
但是如果我想将 GBP 转换为 USD,我试过以下操作:
price * (rate - 1 * rate)
应该是这么简单的数学,但它完全把我扔了。
此答案假设您有一个 table,其中有一列价格以一种货币表示,例如英镑,您希望将其转换为瑞典克朗,例如
prices
1.35
1.07
4.53
...
如果您想将英镑价格换算成瑞典克朗,您可以使用以下公式:
price * (1 / rate_GBP) * (rate_SEK) = price in SEK
要使用您的外汇 table,您可以加入价格 table 两次。这可以通过以下查询来实现:
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';
这里没有太多魔法;基本思路是将每个价格的源货币汇率和目标货币汇率放在一起,然后应用公式计算外汇。
目前我有一个汇率数据库,从 USD > Currency
+----------+---------+
| Currency | USDRate |
+----------+---------+
| USD | 1.00 |
| GBP | 0.7418 |
| SEK | 8.29 |
+----------+---------+
我一直在做的简单数学是将 USD 转换为我网站上的另一种货币:
price * rate
但是如果我想将 GBP 转换为 USD,我试过以下操作:
price * (rate - 1 * rate)
应该是这么简单的数学,但它完全把我扔了。
此答案假设您有一个 table,其中有一列价格以一种货币表示,例如英镑,您希望将其转换为瑞典克朗,例如
prices
1.35
1.07
4.53
...
如果您想将英镑价格换算成瑞典克朗,您可以使用以下公式:
price * (1 / rate_GBP) * (rate_SEK) = price in SEK
要使用您的外汇 table,您可以加入价格 table 两次。这可以通过以下查询来实现:
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';
这里没有太多魔法;基本思路是将每个价格的源货币汇率和目标货币汇率放在一起,然后应用公式计算外汇。