跳到主要内容
CalcMax

货币计算器

范围:0.01 – 1,000,000,000

范围:0.00 – 1,000,000

结果

100.00

换算后金额

反向换算
100.00
倒数汇率
1.000000

网上几乎每一个汇率换算器都会直接给你一个汇率,这一页不给,而这正是它存在的理由。写死在页面里的汇率,在页面发布的那一刻就已经在过期——公布出来的那些每个工作日都在变,不同来源因为取的时点不同而互不相同,而买入与卖出还分列在中间价的两侧。能算准的是围绕一个汇率的算术,而这条算术里有一个真陷阱:反着换回来,是除以你拿到的那个汇率,不是乘以把它倒过来印出来的那个数。

官方汇率由谁发布,各自多久更新一次

发布机构更新频率它是什么
欧洲央行(European Central Bank)每个工作日约 16:00 CET 更新一次欧元参考汇率:保留四个小数位,仅供信息参考——欧洲央行原文明写,不鼓励把它的汇率用于交易结算
美国联邦储备委员会(Federal Reserve Board)每周一次,周一 16:15 发布汇率发布 H.10:上一营业周的每日双边汇率与美元指数;周一逢联邦假日则顺延到下一个工作日
国家统计局(中国)每年一次,写进年度统计公报全年人民币平均汇率:一年一个数,是十二个月的平均值,不是哪一天能成交的价

这张表放在这里,是因为汇率那一格是故意空着的,而一个空着的格子应当有人回答「汇率该从哪来」。三行是发布机构而不是汇率,竖着读第二列才是这张表的用处:这三个频率不是同一件事的疏密之分,而是三种共用「汇率」这个词的不同数字。一个是每个工作日发布一次的定盘价而不是行情,一个是每周发布一次、覆盖刚过去那一周,一个是一年发布一次、是整年的平均。三者都不是你刷卡时清算用的那个汇率,而欧洲央行原文明写着不鼓励把自己的参考汇率用于交易结算。最后一列是各家自己说这个数是干什么用的,所以在把其中任何一个抄进上面的汇率格之前,值得先读它一眼。

公式

换算后金额 = 金额 × 汇率 | 反着换回来 = 金额 ÷ 汇率

baseAmount
你要换掉的那个金额,单位是你换出的那一种。本页不问你那是哪种货币,因为换成哪一对,算术都一模一样
exchangeRate
一单位金额能换到多少单位。它是你自己填进来的数,来自你自己核对过的来源,本页把它当作精确值,不去替你查
convertedAmount
金额乘以汇率,保留两位小数。它是主结果,而这两位小数是钱的约定,不是汇率本身的性质
reverseAmount
金额除以汇率,也就是把同一个汇率反过来用。它是一次除法,不是乘上那个倒数——金额大的时候两者差得不止一个舍入位
inverseRate
1 除以汇率,保留六位小数。它印出来是让你能读到那个倒数,两个金额行都不用它

当你手上已经有一个汇率、想把它两个方向都套一遍时用它:查到的汇率想验算一下、收据上是一种货币而预算表里是另一种、钱已经按一个方向付出去了而你想看换回来是多少。它不是汇率的来源;手上没有汇率可填的时候,下面那张表与参考来源写的是官方的汇率由谁发布、各自多久更新一次——而那正好是三种完全不同的频率。换成人民币的话,最常被引用的是中国外汇交易中心受中国人民银行授权每日发布的人民币汇率中间价。

算例

  1. 默认算例:100 元、汇率为 1

    1. 换算后金额:100 × 1 = 100.00
    2. 反着换回来:100 ÷ 1 = 100.00
    3. 倒数汇率:1 ÷ 1 = 1.000000

    汇率为 1 是最能看清面板形状的一组数:两行都是金额本身,倒数也是 1,中间没有任何算术挡着。它同时也是这张表单老实的初始状态——汇率那一格总得有个初始值,而填 1 会让「这个数是占位值、不是本页替你查到的汇率」这件事一眼可见。

  2. 一个真实公布过的年平均汇率:100 元、7.1429

    1. 换算后金额:100 × 7.1429 = 714.29
    2. 反着换回来:100 ÷ 7.1429 = 13.99992…,舍到两位 = 14.00
    3. 倒数汇率:1 ÷ 7.1429 = 0.1399991…,舍到六位 = 0.139999

    这里的汇率是一个真实公布过的数,不是凑出来的:1 美元兑 7.1429 元是 2025 年的全年人民币平均汇率,出自国家统计局的年度统计公报(原文在下方参考来源里)。它是十二个月的平均值,不是哪一天能成交的价。这一条也正是六位小数派上用场的地方:1 ÷ 7.1429 = 0.1399991,所以印出来的倒数是 0.139999 而不是更整齐的 0.14,而 100 乘这个倒数是 13.9999,除以汇率则是 14.00。两个都是对同一个汇率的合理解读,而除法没有丢掉汇率本身的精度,所以金额那一行用除法,倒数只作展示。

  3. 除法胜过乘倒数的地方:1,000,000 元、汇率 3

    1. 换算后金额:1000000 × 3 = 3000000.00
    2. 反着换回来:1000000 ÷ 3 = 333333.3333…,舍到两位 = 333333.33
    3. 倒数汇率:1 ÷ 3 = 0.3333333…,舍到六位 = 0.333333

    这一条是整页围着它搭起来的那组数。一百万除以三得 333,333.33;而一百万乘上印出来的倒数 0.333333 得 333,333.00,少了三角三分。倒数是舍过的数,而那个舍入会随着被乘的金额一起放大——六位小数对一百元绰绰有余,对一百万就不够。金额那一行走的是除法,倒数印出来是为了让这个差别看得见,而不是让人去信它。

  4. 汇率小于 1:100 元、0.85

    1. 换算后金额:100 × 0.85 = 85.00
    2. 反着换回来:100 ÷ 0.85 = 117.6470…,舍到两位 = 117.65
    3. 倒数汇率:1 ÷ 0.85 = 1.1764705…,舍到六位 = 1.176471

    汇率小于 1 的方向是手算最容易搞反的地方:按 0.85 换过去、再按 1.176471 换回来,看起来像两个不同的操作,其实是同一个汇率的正反两面——85 是 100 按前一个汇率换来的,117.65 是 100 按后一个汇率换来的,两个汇率互为倒数。算术在汇率跨过 1 的那一点上没有任何特殊之处,正因为如此,才值得有一条算例停在它的另一侧。

  5. 字段允许的最小汇率:500 元、0.000001

    1. 换算后金额:500 × 0.000001 = 0.0005,舍到两位 = 0.00
    2. 反着换回来:500 ÷ 0.000001 = 500000000.00
    3. 倒数汇率:1 ÷ 0.000001 = 1000000.000000

    汇率那一格收六位小数,因为真实汇率需要;两个金额行只带两位,因为钱是这样写的。两者碰得最难看的地方就是这一条:五百按百万分之一换过去是万分之五,而金额行印出来是 0。这里没有任何东西算错——两行用的精度单位本来就不同,而这个金额换成目标货币之后远不到一分。把这里的 0.00 读成故障,与把它读成余额一样不对。

局限

汇率是你给的,不是本页给的。这里不查汇率、不核对它、也不知道今天几号,所以一个过期的或者填错的汇率会得到一个理直气壮的错答案,而且没有任何提示。公布出来的汇率也不止一种:央行公布的参考汇率是给信息参考的每日定盘价,卡组织的汇率是交易清算时定的,而换汇点是按中间价加价卖出、减价买入的——没有一个等于本页收下的那一个数。这里最要紧的一句是:填进去的汇率应当是你实际能成交的那个价,不是你在新闻上看到的那个中价,因为价差本身就是收费方式。两位小数是钱的约定,不是汇率本身的性质:印出来的金额舍到分是因为金额是钱,而汇率在计算内部是按全精度使用的。两个金额行也是各自独立算出来的——换算后金额靠乘法,反向金额靠除法,不是一行从另一行推出来的。这个独立性是有意的,代价在大金额上看得见:六位的倒数是舍过的数,乘它与除以汇率不是一回事,一百万按汇率 3 走,两者差三角三分,所以反向那一行用的是除法。本页也不建模任何手续费、价差或者佣金,所以你真能拿到手的会比这里算出来的差,差多少取决于中间商收了多少;那是一个汇率上的差,而不是一个固定的金额,所以它不能事后从结果里减掉——要算它,就把你实际被给到的那个价填进汇率那一格。最小计价单位也不在本页:日元没有分,而本页所有金额一律舍到两位小数,所以换算到那类货币上时,印出来的分位在现实中并不存在。汇率那一格的下界是百万分之一、上界是一百万,而在下界那一头,两个金额行会把一次真实换算舍成零:五百按百万分之一换过去是万分之五,面板印 0.00,因为金额行只带两位小数。那是显示的下限,不是换算失败。本页不挂任何币种,也不在任何地方问你填的是哪种货币:算术不取决于换的是哪一对,而本页也没有一张币种表可以给你选。两个不同货币的金额在这块面板上长得一模一样,所以答案要写进文档里的话,货币名请你自己加上去。

常见问题

这一页用的是哪个汇率?
用你填进去的那一个,本页不替你查。这是有意的选择而不是缺功能:公布出来的汇率每个工作日都在变,不同来源因为取的时点不同而互不相同,买卖之间还有价差。把某个汇率冻在页面里,发布之后不久它就不对了,而屏幕上没有任何东西会提示这件事。汇率那一格就是全部输入;下面表格与参考来源写的是官方汇率由谁发布、各自多久动一次。
为什么反向换回来是除以汇率,而不是乘上那个倒数?
因为乘印出来的倒数会丢精度,而且丢的这部分会随着金额放大。汇率是 3 的时候印出来的倒数是 0.333333,那是舍过的;一百万乘它是 333,333.00,而一百万除以三是 333,333.33——差三角三分,而且金额越大差得越多。倒数保留六位是为了能读,印出来是给你作参考的,金额那一行走的是除法,用的才是汇率的全精度。
汇率要填几位小数?
你的来源给几位就填几位,这一格最多收六位。欧洲央行的参考汇率公布时保留四位,别的来源有多有少,这一格收到六位是为了让按六位公布的汇率能原样填进来。填之前先把汇率舍一遍会改变结果:计算是用汇率的全精度去乘、最后才把金额舍到分,所以填一个截短的汇率,与把一个正确的汇率交给显示去舍,不是同一回事。
为什么一次正常的换算会算出 0?
因为金额行只印两位小数,而答案换到目标货币之后不到一分。五百按百万分之一的汇率换过去是万分之五,面板印 0.00。这里没有任何东西算错,金额确实就是那么小;这种情况该看的是反向那一行,它除以同一个汇率、回来是五亿。那是把钱印到分的显示下限,不是换算本身的下限。
这一页知道你换的是哪两种货币吗?
不知道,也不问。换成任何一对货币,算术都一模一样,所以本页收下一个没有单位的金额和一个没有单位的汇率,货币名留给你自己标。要知道的后果是:两种不同货币的金额在面板上长得一样——一百元和一百美元都印成 100.00,没有任何东西区分它们。答案要写进文档的话,请自己把货币名写上去。
换算里含手续费或者价差吗?
不含,而且含不进去,因为手续费不是一个能从结果里减掉的金额。银行、卡组织或者换汇点收你的那部分,是含在它给你的那个汇率里的一层价差,它改的是汇率,不是把答案按一个固定数额往下调。要在这里算它,就把你实际被给到的那个有效汇率填进去——也就是从你账户里划走的金额反推出的那个汇率——而不是填一个中间价再事后另外扣一笔。

参考资料

相关计算器