关于
一份带日期的快照、一个美元基准和一次除法。这些限制本身就是工具的一部分。
数字从何而来
表格是 2026 年 11 月 6 日从 open.er-api.com 获取的快照,该站点发布以美元为基准的参考汇率。构建过程读取一个 JSON 文件,将同一个对象注入浏览器引擎,并据此渲染可见的表格,因此计算器和表格不会出现偏差。
快照带有日期,因为没有日期的汇率算不上事实。页面加载时不会获取新汇率;一个可离线使用的静态文件是这一组页面所做的取舍,代价是数字会随时间变旧。
交叉汇率如何计算
目标货币金额 = 金额 × (汇率[目标] ÷ 汇率[来源])两个汇率都是以美元为单位的每美元数值。美元相互抵消,剩下目标货币兑来源货币的比率。结果中显示的倒数是 1 ÷ 该数值。系统不存储单独的货币对表,因此新增一种货币只需增加一行,而不是为每种已有货币各增加一行。
舍入
- 汇率在大于 1,000 时显示两位小数,在 1 到 1,000 之间显示四位,小于 1 时最多显示八位。底层数值保留完整精度,只有显示值经过舍入。
- 换算金额在大于或等于 1 时使用两位小数,在 0.01 到 1 之间使用四位,小于 0.01 时使用六位。低价值货币的大额金额在最后显示的位数上舍入,而不是更早。
- 交叉汇率表对每一行应用相同规则,因此各行之间保持一致,即使其中某一行看起来精度过高。
舍入是显示层面的决定。如果你需要合同用的精确数字,请使用对方指定的未舍入汇率,并在最后一次性舍入。
包含哪些货币
共包含 153 个代码,涵盖大多数国家的货币以及若干地区和钉住汇率。选择偏向于有公开市场汇率的货币。少数货币被有意排除:
- 已废止的代码,如克罗地亚库纳、塞拉利昂旧利昂和津巴布韦元,它们已被取代。
- 记账单位,如 IMF 的特别提款权,它不是可以放在钱包里的货币。
- 没有可靠公开报价的货币,这些被排除在外,而不是用估算值填充。
如果某个国家使用另一国的货币,该货币会出现在表中,即使该国名称不在。厄瓜多尔和萨尔瓦多使用美元;科索沃和黑山使用欧元。
本工具不知道什么
- 你的服务商的汇率。银行、信用卡和转账服务会加收差价。本页面无法访问你的账户或他们的定价。
- 实时汇率。快照在构建时固定。之后重新构建会读取更新的文件;页面本身不会轮询。
- 费用和税费。境外交易费、电汇费或预扣税不在计算范围内。
- 历史和预测。没有图表,也没有预测。单一汇率不是趋势。
页面如何构建
四个静态页面、一个样式表和一个生成的脚本,由本域名提供。引擎内联包含汇率对象;没有 API 调用、没有第三方脚本、没有分析统计,也没有 cookie。页面中的表格在构建时由同一文件生成,因此重新构建会同时更新两者。
更新汇率
用新的快照替换 assets/rates.json,保持相同结构,将 as_of 设为快照日期,然后运行 python3 build.py。表格、引擎和结果面板中的日期会一起更新。不要编辑 site/ 下的生成文件;下一次构建会覆盖它们。
更正
如果某种货币标注有误或换算错误,修正应放在 JSON 或脚本中,而不是手动编辑页面。主页上的示例(按已发布快照的 EUR 兑 JPY)是变更时使用的检查。