使用方法
- 「数值」默认 1000000,单位随「方向」变化,支持小数。改动数值、方向、小数位任意一项,或光标停在数值框里按回车,都会立刻重算。
- 「方向」下拉只有两项:mm2nmi 表示毫米到海里,nmi2mm 表示海里到毫米。点「交换方向」把两头对调,用来反着核一遍。
- 「小数位」默认 8,范围 0 到 15。毫米一侧通常是几十万的整数,小数位主要决定海里一侧留几位;想看清 1 毫米对应的十几位小数要调到 12 以上。
- 「批量换算」默认已经写好五行,每行一条「数值 空格 方向键」,例如 1852000 mm2nmi。按 Ctrl+Enter(Mac 上 Cmd+Enter)一次算完;框被清空时点「换算」会自动填回示例。
- 结果区第一行是主结果;往下四行是固定口径:1 海里 = 1852 米 = 1852000 毫米、1 毫米折多少海里、1 海里折英里、1 海里折英尺,这四行与小数位无关,专门用来核对系数本身。
- 清单下面是十二行档位表,按当前方向列出从最小的量到最大的量,默认显示 6 行,点「加载更多」展开全部,点「导出 CSV」存成带字节序标记的文件。
- 「复制结果」复制整段清单;「复制对照表」复制正文那张长度对照表,制表符分隔,可以直接粘进表格软件。
- 数值为空、写成负数、超出所在方向的上限,小数位留空或不是 0 到 15 的整数,批量行缺空格、数值不是数字、方向键不在 mm2nmi 与 nmi2mm 之内,都会给出指明行号和原因的具体提示。
毫米转海里能解决什么
毫米是车间里的单位,海里是航海图上的单位,两者相差约六个数量级,中间靠一个法定值 1852 米接起来。这一页做的是毫米到海里的直接折算,默认方向就是毫米到海里,选 nmi2mm 可以反过来算。整条链路只有一次除法:毫米数除以 1852000,没有中间喷水也没有近似系数。
第一类是海图作业与航迹推算。海图上标的距离是海里,而仪器记录的偏移量常常是毫米或米级。比例尺 1:50000 的海图上,图面 1 毫米代表实地 50 米,除以 1852000 得 0.000026998 海里;把图上读到的毫米数直接推到海里,就不必先在脑子里换成千米再换海里。
第二类是船舶设计说明与舱室布局的跨口径对照。国际海事公约的条文多用米表述,航路指南与航海出版物用海里。一份标注 1852000 毫米的构件长度正好等于 1 海里,这种跨量纲的比对在审图意见里经常出现,本页把它压缩成一次除法。
第三类是把「节」换算成可读的位移。1 节定义为 1 海里每小时,所以航速乘航行小时数得到海里,再乘 1852000 就落到毫米。这里要分清:本页换算的是距离,不是速度,速度还得另外乘一步时间。
还有一类边界必须说清。海里原本是按地球子午线定义的角度换算量,1852 只是 1929 年国际水文地理学会议定下的法定取整值;历史上各国用过 1852.3 米与 1853.25 米等不同口径。本页只认 1852 米这一支,其它口径要自行折算,页面不做自动识别。
换算原理与变量说明
整页只锚定一个系数:1 海里 = 1852 米 = 1852000 毫米。毫米到海里是除以 1852000,海里到毫米是乘以 1852000,两个方向互为逆运算,共用同一条式子,不需要为每个方向各写一套公式。
海里原本不是一个长度定义,而是一个角度定义。它取地球子午线上 1 角分所对的弧长。但地球不是正球,不同纬度上 1 角分的实测弧长不同,全球各处能从约 1843 米摆到约 1862 米。1852 米是人为约定的公约数,代价是它不再严格等于任何一条子午线上的 1 角分,好处是全世界海图可以用同一把尺子。
派生量全部由定义值相除得到。1 海里 = 1.150779448023542 英里、= 6076.115485564 英尺,这两个比值来自 1852 与英制定义值:1 英里 = 1609.344 米、1 英尺 = 0.3048 米,都是 1959 年国际码磅协议里的精确值。所以海里对英制单位的比值同样精确可导,不存在四舍五入。
| 单位 | 米 | 毫米 | 折算海里 |
|---|---|---|---|
| 1 海里 | 1852 | 1852000 | 1 |
| 1 链(cable) | 185.2 | 185200 | 0.1 |
| 1 里格(league) | 5556 | 5556000 | 3 |
| 1 英里 | 1609.344 | 1609344 | 0.868976242 |
| 1 千米 | 1000 | 1000000 | 0.539956803456 |
| 1 英尺 | 0.3048 | 304.8 | 0.000164578834 |
舍入只发生在显示层。内部全程双精度浮点,1852 与 1852000 都能被精确表示,但 1/1852000 不能 —— 它是一个无限小数,只能保留约 16 位有效数字。页面固定口径行里给出的 0.000000539956803456 是留到 12 位有效数字的结果,那一位之后的数字属于二进制浮点的残留,不代表换算系数本身不准。
完整示例(数值仅作演示)
默认值是数值 1000000、方向毫米到海里、小数位 8。手算复算:1000000 ÷ 1852000 = 0.5399568034557235,保留 8 位小数得 0.5399568,页面主结果就是「1000000 毫米 = 0.5399568 海里」。这一条相当于 1 千米的实地长度。
1 海里 = 1852 米 = 1852000 毫米 1000000 ÷ 1852000 = 0.539956803456 海里 反向:1852000 毫米 ÷ 1852000 = 1 海里,185200 毫米 ÷ 1852000 = 0.1 海里
批量框五行:1852000 mm2nmi 正好得 1 海里;185200 mm2nmi 得 0.1 海里,也就是 1 链的长度;1 nmi2mm 走反方向得 1852000 毫米,0.1 nmi2mm 得 185200 毫米,一进一出互相印证。每一行都按自己行首的方向键独立计算,与顶部下拉无关。
反向核对:点「交换方向」后数值仍是 1000000,方向变成海里到毫米,结果是 1852000000000 毫米,量级跳到万亿。边界值有两个:0 毫米 = 0 海里;毫米方向上限 1000000000 毫米折 539.95680346 海里,海里方向上限 1000000 海里折 1852000000000 毫米,再大就要拆开分次换算。
毫米转海里对照表
下表把常见长度单位按毫米从小到大排列,第三列是同一份长度折成的海里数。毫米一列是锚点,海里一列全部由毫米除以 1852000 得来,所以任意两行的海里数之比一定等于它们的毫米数之比。
| 单位 | 毫米(mm) | 海里(nmi) |
|---|---|---|
| 1 毫米 | 1 | 0.000000539956803456 |
| 1 厘米 | 10 | 0.00000539956803456 |
| 1 英寸 | 25.4 | 0.0000137149028078 |
| 1 英尺 | 304.8 | 0.000164578834 |
| 1 码 | 914.4 | 0.000493736501 |
| 1 米 | 1000 | 0.000539956803 |
| 1 英寻(6 英尺) | 1828.8 | 0.000987473002 |
| 1 市里 | 500000 | 0.269978401728 |
| 1 千米 | 1000000 | 0.539956803456 |
| 1 链(cable) | 185200 | 0.1 |
| 1 英里 | 1609344 | 0.868976241901 |
| 1 海里 | 1852000 | 1 |
| 1 里格(3 海里) | 5556000 | 3 |
读这张表先抓两个整数锚点:185200 毫米得 0.1 海里(1 链),1852000 毫米得 1 海里。剩下的用比例推即可 —— 比如 1 千米是 1 海里的 1000000/1852000,所以它的海里数必然等于 1000000/1852000 = 0.539956803456;反过来 1 英里比 1 海里短,比值 1609344/1852000 = 0.868976241901。
结果边界、舍入与适用说明
- 数值为空时提示「数值不能为空,请填 0 到 1000000000 之间的数字,例如 1000000 表示 1000000 毫米」,不会沿用上一次的结果。
- 数值写成负数时提示毫米与海里都是长度单位、请填 0 或正数;批量行里的负号同样会被拦下并指出行号。
- 毫米方向上限是 1000000000 毫米(1000 千米),海里方向上限是 1000000 海里,超出都给出「请拆成更小的分量分别换算」,不自动截断到边界值。
- 小数位留空、写成 2.5 这样的小数、或超出 0 到 15,分别给出三条不同提示,既不自动取整也不回退到默认值。
- 结果小于 0.0001 时,为避免科学计数法吃掉有效位数,页面把「小数位」按有效数字处理:0.000000539956803456 在小数位 12 时正好给出 12 位有效数字。
- 结果大于等于 1e15 时改用科学计数法显示(保留 6 位小数),这是双精度浮点能安全表示的位数上限,不是换算错误。
- 换算只处理长度的距离量,不涉及航速、时间或地球曲率修正;要算航迹请用距离除以时间,海图上量取的距离还要考虑投影变形。
- 1852 米是单一的法定口径,历史上 1852.3 米与 1853.25 米等旧值不在本页范围内,需要对照旧图时请自行折算。
- 页面不联网、不写本地存储,数值与批量内容只用于本次计算。
常见问题
为什么 1 海里偏偏是 1852 米这么整?
因为它是人为取整的。海里原本定义为地球子午线上 1 角分的弧长,而实测值随纬度从约 1843 米变到约 1862 米。1929 年国际水文地理学会议取 1852 米作为公约数,美国 1954 年、英国 1970 年先后采用,从此海图有了统一口径。
1 海里等于多少英里和英尺?
1 海里 = 1.150779448023542 英里 = 6076.115485564 英尺。这两个比值由 1852 米除以英制定义值得到:1 英里 = 1609.344 米、1 英尺 = 0.3048 米,都是精确的,所以比值也是精确的,不是四舍五入出来的近似值。
1 毫米折海里为什么会有一长串前导零?
因为两个单位差了六个数量级。1 海里是 1852000 毫米,反过来 1 毫米只有它的 1/1852000,即约 0.00000054。为了不让科学计数法把位数吃掉,当结果小于 0.0001 时页面按有效数字显示,小数位填 12 就得到 0.000000539956803456。
批量里的 mm2nmi 和 nmi2mm 是什么意思?
mm2nmi 是 millimeter to nautical mile 的缩写,表示这一行按毫米到海里算,即除以 1852000;nmi2mm 反过来,乘 1852000。每行可以写不同的方向键,与顶部下拉互不影响。
历史上的海里和现在的海里差多少?
各国旧口径不一,常见的有 1852.3 米与 1853.25 米。以 1853.25 米为例,它比现在的法定值长 1.25 米,即每海里多约 0.0675%。短距离可以不计,跨洋航迹上累积起来就要按图幅的口径修正。
1 节和海里是什么关系?
1 节就是 1 海里每小时。所以航速(节)乘航行小时数得到海里,再乘 1852000 得毫米。反过来,要把一段位移折算成节,必须先除以时间得到海里每小时,本页只负责距离这一段。
结果出现科学计数法是怎么回事?
当数值的绝对值大于等于 1e15 时,页面改用科学计数法显示 6 位小数。这是双精度浮点能安全逐个表示整数的极限附近,超大结果保留全部整数位已无意义,用指数形式更不容易读错位数。
输入的数据会上传到服务器吗?
不会。数值、方向与批量内容只在本页的 JavaScript 里做乘除,没有发起任何网络请求,刷新页面后输入即恢复默认值。