🛠️ToolsShed

货币换算器

使用参考汇率在主要世界货币之间转换。

参考汇率 — 不适合用于金融交易。

2025年中期参考汇率(以美元为基准)

货币转换器让您使用最新汇率在世界货币之间转换金额。无论是计划国际旅行、进行跨境购买、了解外国薪资,还是管理具有多币种收入的业务,此工具都能为您提供快速准确的转换。

从下拉菜单中选择源货币和目标货币,输入金额,即可立即计算转换后的值。汇率从可靠的金融数据源获取并定期更新,因此结果反映当前市场汇率。

请记住,显示的汇率是中间市场汇率(买入和卖出汇率的中间点)。银行、信用卡和兑换机构通常会在中间市场汇率基础上加收差价或费用,因此您实际换汇成本可能略高。

常见问题

代码实现

def convert_currency(amount, from_rate_to_usd, to_rate_to_usd):
    """
    Convert amount between two currencies via USD as the base.
    Rates are expressed as 'units per 1 USD'.
    e.g. EUR/USD = 0.92 means from_rate_to_usd=1 (USD), to_rate_to_usd=0.92 (EUR)
    """
    amount_in_usd = amount / from_rate_to_usd
    return amount_in_usd * to_rate_to_usd

def build_rate_table(rates_vs_usd: dict, base="USD"):
    """
    Build a cross-rate table from rates expressed against USD.
    rates_vs_usd: {"EUR": 0.92, "GBP": 0.79, "JPY": 150.5, ...}
    """
    if base != "USD":
        base_rate = rates_vs_usd[base]
        rates_vs_usd = {k: v / base_rate for k, v in rates_vs_usd.items()}
        rates_vs_usd["USD"] = 1 / base_rate

    def get_rate(from_ccy, to_ccy):
        return rates_vs_usd[to_ccy] / rates_vs_usd.get(from_ccy, 1)

    return get_rate

# Example rates (illustrative, not live)
rates = {"USD": 1.0, "EUR": 0.92, "GBP": 0.79, "JPY": 150.5, "CAD": 1.36}

get_rate = build_rate_table(rates)

amount = 1000  # USD
for ccy in ["EUR", "GBP", "JPY", "CAD"]:
    converted = amount * get_rate("USD", ccy)
    print(f"${amount} USD = {converted:,.2f} {ccy}  (rate: {get_rate('USD', ccy):.4f})")

# Round-trip check
print(f"\nRound-trip: $1000 USD -> EUR -> USD = ${1000 * get_rate('USD', 'EUR') * get_rate('EUR', 'USD'):.4f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.