关于
一次乘法,加上一组精确的单位定义。不确定性来自步长,而不是算术。
页面计算的内容
先做一次乘法,再套用一组精确的单位定义。步长换算为米,步数乘以步长,结果再换算为其他单位。在显示环节之前不做任何舍入。
| 输出 | 公式 | 示例(10,000 步,步长 70 cm) |
|---|---|---|
| 米 | 步数 × 以米为单位的步长 | 7,000 m |
| 千米 | 米 ÷ 1,000 | 7 km |
| 英尺 | 米 ÷ 0.3048 | 22,965.88 ft |
| 码 | 米 ÷ 0.9144 | 7,655.29 yd |
| 英里 | 米 ÷ 1,609.344 | 4.3496 mi |
| 每千米步数 | 1,000 ÷ 以米为单位的步长 | 1,429 |
输入处理
- 步数必须为零或更大。允许输入零,此时返回零距离,可用于单独核对步长。
- 步长必须大于零。该字段接受小数,因此 0.7 m 与 70 cm 等价。
- 单位改变的是步长字段的解读方式,而不是数值。从厘米切换到英寸而不改变数值,距离会相差 2.54 倍。
- 预设会把一个数值和一个单位写入这两个字段。之后编辑任一字段,预设会切回“自定义”,因此表单不会声称正在使用一个它并未使用的预设。
- 步行与跑步时间严格按 5 km/h 和 10 km/h 计算,不含停顿。它们用于配速比较,不是行程估算。
单位定义
这些换算按定义是精确的:1 inch = 2.54 cm,1 foot = 0.3048 m,1 yard = 0.9144 m,1 mile = 1,609.344 m。页面不使用四舍五入后的 0.305 或 1.61,因此长距离不会累积换算误差。唯一近似的输入是步长。
预设值的来源
50 cm 预设是儿童的大致步行步长。70 cm 和 76 cm 预设覆盖成人平均值。110 cm 预设是轻松配速下的跑步步长。这些是取整后的数字,选作合理的起点,并非对任何个人的测量;基于身高的估算见步长页面。
工具不知道的内容
- 你的实际步长。它使用你输入的数值。身高、速度、地形和疲劳都会改变步长。
- 路线。地面距离长于两点之间的直线距离,同样步数下,有坡的路线长于平坦路线。
- 你的配速。时间行使用固定速度。以 4 km/h 慢走的人比 5 km/h 那一行需要多花 25% 的时间。
- 卡路里。能量消耗取决于体重、速度和坡度,而不只是距离。本页面不做估算。
- GPS 或传感器数据。页面不访问任何设备,无法读取计步器、手表或手机。
页面的构建方式
四个静态页面、一个样式表和一个脚本,由本域名提供。没有框架,没有第三方脚本,没有分析,没有 cookie。算术是一个无依赖的单一函数,改动时用算例(10 步、步长 50 cm,以及 10,000 步、步长 70 cm)作为校验。
更正
如果换算系数有误或边界处理不当,修正应同时落在脚本和本页面中。测试覆盖毫米、英寸、英尺、码、零步数和零步长,因此表单与说明不会彼此脱节。