前言
今天在 tg 刷梗图看到又有人使用奇怪的汇率表达,印象里朋友也用错好多次,是时候写一篇科普方便我将来直接把链接甩 ta 们脸上。
示例
先来个错误示范:
💬 Quote
汇率小课堂: 1 CNY≈20 JPY
然后甩上我用了好多年的海淘计价脚本 :1
$ fixer.py
100 USD = 726.560 CNY
100 JPY = 4.850 CNY
100 HKD = 93.488 CNY
100 RUB = 8.109 CNY
100 EUR = 771.553 CNY
100 TRY = 19.925 CNY
100 INR = 8.322 CNY
100 TWD = 22.112 CNY
100 COP = 0.175 CNY
解释
首先要说明,上面的错误示范并不是真的错误,只是在大多数场景没有另一种方式实用。 事实上,几乎只有在凸显「货币购买力」这一空泛的指标时以本地货币作为基准的方式才稍微有点用。
解释一下,当你要行使货币的价值尺度 2,你知道的总是商品/服务的外币标价,虽然在当地使用外币消费换算成原有货币不一定有意义,但海淘时还是方便。
举个例子,比如说我非常喜欢噗哟噗哟和俄罗斯方块,于是准备在 eShop 全价买数字版:
- 美区 19.99 USD
- 日区 3839 JPY
- 港区 238 HKD
以日区演示两种算法:
- $\frac{3839}{20}$
- $\frac{3839 \times 4.85}{100}$
看着还是上面简单?但上面的(人民币兑日元)汇率是手动算出来的,下面是直接根据实时汇率算出来的。说人话就是,上面要算两遍,下面只要算一遍(挪小数点谁不会……),而且上面的计算方法会有浮点数精度的问题(所以下面要先乘再除),对于美元这种大额货币无所谓,像日元、卢布和没列上的阿根廷比索会产生很大的误差。
附录
其实一开始接触到这个问题还是当年 RSSHub 添加了 中国银行外汇牌价,输出怎么看怎么奇怪,因为 Steam 低价区货币中银没有价格,折腾跨境通和汇率 API 才了解到点皮毛:
- 为什么要以 100 计价?解释里写了,浮点数精度问题,而且有的货币通胀实在太厉害 3
- 为什么「现汇买入价」比「现汇卖出价」低?盲生,你发现了华点。因为「买入」和「卖出」的主体是银行,不是购汇的人
- 「外汇」和「外钞」的区别?不取现就买外汇,其他去问 DeepSeek……