无需上传, 100% 本地处理, 无需账户

文章

一套不用安装的日常计算工具

大多数随手计算并不需要专门的应用。小费、折扣、一行税费、食谱换算或在国外看到的价格,都是简单的算术。多数在线计算器的麻烦在于它们运行在云端,于是你输入的数字会被发往服务器。相反,这里汇集的工具完全在你的浏览器中运行。打开一个页面,输入数字,结果就在本地显示,不上传任何内容,也无需创建账户。

百分比、小费和税费

这三种计算形式相同:一个基数乘以一个比率。45.00 的账单按 20% 给小费,就是 45 乘 0.20,等于 9.00,合计 54.00。80.00 的商品打八五折,相当于减去 12.00,剩下 68.00。税费同理,只是方向相反:50.00 的价格加 8% 税,添上 4.00,到收银台是 54.00。心算时容易差一点点,尤其在分摊账单或从已含税的价格里倒推税款时。百分比计算器处理简单的比例,小费计算器加入多人分摊,税费计算器则让你从不含税价算到最终价,或从总额里还原出不含税金额。每个数字都留在你的设备上。

计算示例:60 元账单加上 15% 的小费,即 9 元,合计 69 元。

公制与英制并列对照

对于阅读为其他地区编写的食谱、说明书或旅行指南的人来说,在度量体系之间切换是家常便饭。换算都是固定比率,所以一张小小的对照表几乎能覆盖日常所需:1 英寸是 2.54 厘米,1 英尺是 30.48 厘米,1 英里约 1.609 千米,1 磅约 0.454 千克,1 美制加仑约 3.785 升。温度是例外,因为它除了刻度还有偏移:从华氏换到摄氏要先减 32 再乘以九分之五,所以 68 F 等于 20 C。单位换算器覆盖长度、重量、体积、温度以及其他若干类别,你不必记住每一种的精确系数。

烹饪用量取决于食材

烹饪换算之所以让人犯难,是因为一杯量的是体积,而食谱里的食材常常按重量计,二者之间的关系取决于密度。一杯水约重 240 克,但一杯普通面粉只有约 120 克,一杯白砂糖约 200 克。把它们都按同样的重量对待,蛋糕就这样变得干硬或紧实。烹饪换算器存有常见食材的典型密度,所以当你问一杯面粉是多少克时,它用的是面粉的数值,而不是通用值。不过它无法知道你把杯子压得多实,因此烘焙指南建议在讲究精度时用秤称面粉。

汇率,附一句诚实的说明

这份清单里真正需要外部数据的计算只有汇率,因为汇率每天都在变。汇率换算器会下载一份公开的每日汇率表,也就是任何人都能查到的那类公开信息,然后在你的浏览器里完成换算。这种做法带来两点。其一,汇率是当日的快照,而非实时的市场行情,因此它适合大致估算某个价格折合成你本币是多少,却不是银行或经纪商在某一秒报给你的汇率。其二,下载的只有公开汇率表,你输入的金额从不被发送,最近一次快照会被缓存,使工具在离线时也能用,并在屏幕上显示其日期和来源。

浏览器计算器中的浮点精度

JavaScript 将所有数字表示为 64 位 IEEE 754 双精度浮点数。这种格式可以精确表示最大 2^53 的整数,但对许多十进制值会引入舍入误差:0.1 + 0.2 的结果是 0.30000000000000004 而非 0.3。对于百分比分割、单位换算或税费舍入等计算,这一点很重要。一种常见的方法是在运算前将值缩放为整数(例如将货币金额视为整数分),然后在最终结果时还原。对于更高精度的需求,任意精度库对数字字符串而非原生浮点数进行运算,但会有性能代价。了解计算器使用哪种方法,可以判断结果是四舍五入到显示阈值,还是将 IEEE 754 舍入贯穿整个计算链。

在浏览器中,0.1 + 0.2 的计算结果为 0.30000000000000004,这是二进制浮点数的经典舍入误差。

本文涉及的工具

常见问题

这些计算器能离线使用吗?

百分比、小费、税费、单位和烹饪这些工具都是纯算术,完全在浏览器中运行,所以页面一旦加载,断网后仍能继续工作。汇率换算器需要每日汇率表,但它会缓存最近下载的一份,因此也能离线使用那份快照,其日期会清楚标明。

汇率和我的银行一样吗?

不一样。换算器用的是每天更新一次的公开参考汇率,适合用来了解外币价格大致值多少。银行或发卡机构会在交易那一刻用自己的汇率,并通常加上点差或手续费,所以你账单上的金额会与换算出来的估值略有出入。