📐 单位换算
在不同计量单位之间转换。
🔒 100% 客户端处理
单位换算是日常生活里躲不开的摩擦:菜谱写着克,你的量杯却按盎司刻度;规格表标英寸,手边的卷尺是公制;风速报告说节,你脑子里想的却是英里每小时。这个换算器覆盖八个类别、57 种单位,边输入边换算——没有提交按钮,不用注册,页面也不会重载。
换算数学原理
每个类别都定义一个基准单位:长度用米,重量用千克,体积用升,面积用平方米,速度用米每秒,时间用秒,数据用字节。每个单位带一个 toBase 系数,表示它等于多少个基准单位。换算时,工具把数值乘以源单位系数、再除以目标单位系数:
result = value × from.toBase ÷ to.toBase
由于两个系数都是固定定义,经过基准单位再换出去,除了正常的浮点舍入之外不会丢失信息。1 英里是 1609.344 米,1 公里是 1000 米,所以 1 英里就是 1609.344 ÷ 1000 = 1.609344 公里。
正是这种“统一经过基准单位”的做法让换算器保持精简。若为每一对有序单位都存一个系数,规模会按平方增长——十个长度单位需要九十个系数,而不是十个。每个单位只存一个 toBase 数字,任意一对单位最多做两次乘法,而且修正某一个单位定义时,所有依赖它的换算会一起被纠正。交换按钮只是对调源单位和目标单位并重新计算;切换类别则会重建两个下拉框,并把目标单位默认设为该类别列表中的第二个。
实操示例
| 输入 | 换算 | 结果 |
|---|---|---|
| 1 英里 | 英里 → 公里 | 1.609344 km |
| 70 kg | 千克 → 磅 | 154.323584 lb |
| 100 °F | 华氏 → 摄氏 | 37.7777777778 °C |
| 1 英亩 | 英亩 → 平方米 | 4046.86 m² |
| 60 mph | 英里/小时 → 公里/小时 | 96.5607 km/h |
| 1 GB | GB → MB | 1024 MB |
| 10 英石 | 英石 → 千克 | 63.5029 kg |
| 30 节 | 节 → km/h | 55.5599 km/h |
| 1 汤匙 | 汤匙 → 毫升 | 14.7868 mL |
磅数来自 70 ÷ 0.453592;温度来自 (100 − 32) × 5/9;节数来自 30 × 0.514444 ÷ 0.277778。两者都以完整双精度计算,只在显示时舍入。厨房换算是理解“源系数和目标系数同等重要”的好例子:1 汤匙是 0.0147868 升,1 毫升是 0.001 升,所以结果是 0.0147868 ÷ 0.001 = 14.7868 mL。
温度为什么特殊
对所有乘法类别来说,换算就是一次乘法。温度是例外,因为三个温标不共享零点。工具先把输入归一化到摄氏,再换算出去:
- 摄氏转华氏:
F = C × 9/5 + 32 - 华氏转摄氏:
C = (F − 32) × 5/9 - 摄氏转开尔文:
K = C + 273.15 - 开尔文转摄氏:
C = K − 273.15
归一化之后,工具会检查结果是否低于绝对零度(小于 −273.15 °C)并拒绝,因此你不会把 −500 °C 误换成毫无意义的开尔文值。这也解释了为什么温度在底层数据里没有 toBase 乘数——它的三个条目系数都记为 1,改用偏移分支处理。
数据大小类别采用 1024
数据大小类别使用 1024 的幂:1 KB = 1024 B,1 MB = 1,048,576 B,1 GB = 1,073,741,824 B,1 TB = 1,099,511,627,776 B。这是二进制惯例,也是操作系统报告文件大小时通常采用的口径。注意命名上的错位:存储厂商和网络工程师常用十进制(1 GB = 1000 MB)。因此一块标称 1 TB 的硬盘,在基于二进制的文件管理器里会显示约 931 GB。这里的标签写的是 KB/MB/GB/TB,但算术是二进制的,和厂商规格对比时应把结果当作 GiB 等价值来看。
常见错误与边界情况
- 跨类别猜测。 克换毫升不是单位换算,而是密度问题。工具刻意让类别彼此独立,而不是给出误导性的一一对应。
- 两种盎司。 盎司(重量)和液盎司(体积)属于不同类别,而且美制液盎司(29.5735 mL)与英制液盎司也不同。
- 美制与英制体积。 体积类别同时包含两种加仑,弄混会让食谱偏差约 20%。
- 固定长度的月和年。 时间类别按 30 天的月和 365 天的年计算,不遵循日历。日期运算不在范围内。
- 科学计数法。 1 微米换算成英里非常小,会显示为
6.2137e-10,而不是一长串零。 - 接近绝对零度的负温度。 等于或低于 −273.15 °C 的值会被报错拒绝,但略高于它的值正常换算——−273 °C 变成 0.15 K。
- 想当然认为“吨”一定是公吨。 重量类别用的是公吨(1000 kg),不包含美制短吨(907.18474 kg)和英制长吨。
精度与限制
普通结果最多显示 10 位小数并去掉末尾的零,所以 1.609344 保持易读,不会拖一串无意义的零。输入达到或超过 1×10^10,以及小于 1×10^-6 的非零输入,会以六位有效数字的科学计数法显示。缩短的只是显示,计算本身始终使用完整的 IEEE-754 双精度。所以真正的上限不是精度,而是这里提供的所有换算在同一类别内都是线性的,事实也确实如此。
有两点值得知道。第一,结果只为显示而格式化;如果你把一个舍入后的数字复制进另一段计算,就会继承那次舍入,链式换算时请尽量在源头保留完整精度。第二,没有自动单位识别——工具只换算你选定的那一对单位,输出框是只读的,所以你拿来对比的值永远是一次明确定义的换算结果,而不是被推断出来的“最佳”单位。
相关工具
常见问题
换算器把 1 KB 当作 1000 字节还是 1024 字节?
数据大小类别全程采用 1024 进制:1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,依此类推。这是二进制惯例,通常也写作 KiB/MiB/GiB。硬盘厂商一般用十进制(1 GB = 1000 MB),所以操作系统可能把标称 1 TB 的硬盘显示成约 931 GB。
为什么温度换算要用不一样的公式?
摄氏、华氏、开尔文的零点位置不同,没法只乘一个系数完成换算。工具会先把输入折算成摄氏,再换到目标温标,使用 F = C × 9/5 + 32 和 K = C + 273.15,并拒绝任何低于绝对零度(−273.15 °C)的结果。
能把克换算成毫升,或者别的跨类别单位吗?
不能。每次换算都限定在同一个类别内,因为克衡量质量、毫升衡量体积。要把两者互转必须知道物质密度(水约 1 g/mL,油约 0.92 g/mL),这不是通用单位换算器能推断的。
美制加仑和英制加仑差多少?
差得明显:1 美制加仑正好是 3.785411784 升,1 英制加仑是 4.54609 升,大约大 20%。两者都在体积类别里,和美制夸脱、品脱、杯、液盎司、汤匙、茶匙并列。
结果会显示几位小数?
普通数值最多显示 10 位小数并去掉末尾的零。数值达到 1×10^10 及以上、或小于 1×10^-6 时,切换为六位有效数字的科学计数法。
每个类别各有哪些单位?
八个类别共 57 种单位:长度、重量、温度、体积、面积、速度、时间、数据大小。范围从微米、毫克一直到海里和 TB,同一类别里公制和英制单位混排。
由 HandyTools Hub 团队审校 · 最后更新