使用方法
第一步,在「数值」框里填要换算的数字。页面默认填 1,允许区间是 0 到 1000000000,支持任意小数位;单位不写在框里,由右边的下拉决定,填「5 cm」这种带字母的写法会被拒绝并给出提示。
第二步,在「从单位」选手上数据的单位,在「到单位」选想要的单位。打开页面时它们固定为「厘米」和「光年」,也就是厘米转光年这一对;想算千米换纳米、英里换毫米,改两个下拉即可,不必换页面。
第三步,点「换算」按钮,或者直接在数值框里裸按 Enter,结果区立刻刷新成「数值 原单位 = 结果 目标单位」这一行,下面那行提示也同步更新,读屏软件会朗读本次结果。
点「载入示例」把三个输入一次性还原成默认值;点「复制结果」把换算式和结果一起放进剪贴板。下方对照表的「导出对照表 CSV」下载带 UTF-8 BOM 的表格,用 Excel 打开中文不会乱码;「复制对照表」按 TSV 复制,可以直接粘进任意表格软件。
如果只是想快速验证一个数字,不必清空重填:改完下拉后结果会自动重算,输入过程中每敲一个字符也会刷新一次。发现结果和预期对不上时,先看红色提示区有没有报错文字,再检查数值是不是落进了允许区间。
这个工具能解决什么问题
第一,把日常尺度和宇宙尺度接在同一条数轴上。一厘米是手指宽度那个级别,光年则是光跑完一整年的距离,中间隔了差不多十八个数量级。人脑并不擅长直观比较这种跨度,看到「1 厘米 = 1.057e-18 光年」才突然意识到光年有多大、厘米有多小。本页把这种对比变成一次点击。
第二,掐掉「数零」这个最容易出错的环节。0.01 除以 9460730472580800 这样的算式,手算时少写或多写一个零就会差出十倍,而且从结果本身完全看不出来错在哪。本页用统一因子表计算,out = in × f[from] ÷ f[to],无论选哪一对都不会把小数点挪错位置。
第三,一次覆盖整个长度维度。米、千米、厘米、毫米、微米、纳米、英里、码、英尺、英寸、海里、光年共 12 个单位装在同一张因子表里,任意两个都能互转,做地理、天文、机械加工的单位对照时不必为每一对单位再找一个页面。
本页不做这些事:不换算面积、体积等其它维度;不把光年解释成时间单位;也不涉及相对论下的长度收缩。它只回答「一个长度值从某单位到另一单位是多少」。
换算原理与变量说明
核心是一张相对基准单位的因子表。本页以「米」为长度基准,给每个单位一个因子 f,含义是「1 个该单位等于多少米」:厘米 f=0.01、毫米 f=0.001、微米 f=1e-6、纳米 f=1e-9、千米 f=1000、英里 f=1609.344、码 f=0.9144、英尺 f=0.3048、英寸 f=0.0254、海里 f=1852、光年 f=9460730472580800。换算式统一写成 out = in × f[from] ÷ f[to]。
光年这个因子是精确的整数,不是约数。光年被定义为光在真空中一个儒略年里走过的距离。真空光速被固定为恰好 299792458 米每秒,一个儒略年又恰好是 365.25 天即 31557600 秒,两者都是精确整数,所以 1 光年 = 299792458 × 31557600 = 9460730472580800 米,一个零都不差。这也是为什么本页的光年因子写成完整的 9460730472580800,而不是常见的 9.46e15 近似值。
由这条定义能推出几个好记的天文尺度。1 光年约等于 9.46 万亿千米、63241 个天文单位、0.3066 秒差距;离太阳最近的比邻星在约 4.24 光年外,折合约 4.01e17 厘米。把这些数填进本页,能直观感受「邻星」其实远得难以想象。
为什么结果会写成科学计数法。1 厘米转光年得到 1.057e-18,远小于 1e-12,页面按规则改用六位小数的科学计数法显示,避免出现一长串前导零。对照表里给出的则是十位有效数字的完整值,两个写法是同一个数。
完整示例(默认输入实测)
示例条件与页面默认值完全一致:数值 1、从「厘米」到「光年」。逐项核对——取因子 f[cm] = 0.01、f[ly] = 9460730472580800;代入 out = 1 × 0.01 ÷ 9460730472580800,得 1.057000834e-18;结果区按科学计数法显示「1 厘米 = 1.057001e-18 光年」。
换几个数值验证线性关系,指数与系数完全跟着输入走:
- 输入 100:100 × 0.01 ÷ 9460730472580800 = 1.057001e-16 光年,仍用科学计数法;
- 输入 1000000:一百万厘米(也就是 10 千米)转光年约 1.057e-12,刚好卡在显示阈值附近,会以前导零形式呈现;
- 反过来输入 1 光年转厘米:1 × 9460730472580800 ÷ 0.01 = 9.460730473e+17 厘米,正是对照表最后一行。
需要提醒:结果一旦小于 1e-12,页面就改用六位小数的科学计数法,末尾几位会被舍入,这不是算错,只是显示精度不同。要更高精度可点「复制结果」或参考对照表列出的十位有效数字完整值。
再换一对单位交叉验证:从厘米到千米,f[km] = 1000,out = 1 × 0.01 ÷ 1000 = 1e-05,正好落在「1 千米 = 100000 厘米」这条定义上。三处数字彼此闭环,说明因子表内部没有矛盾。
对照表
下表以「1 个原单位」为基准给出换算结果,共 12 行,全部直接显示。前 11 行是 1 厘米分别等于多少米、千米、毫米、微米、纳米、英里、码、英尺、英寸、海里、光年;最后一行是反查用的 1 光年 = 9.460730473e+17 厘米。数值全部由上面的因子表推导,和计算器算出的结果同源。
把这张表当成速查手册:想知道指甲盖宽度(约 1 厘米)在光年尺度下有多小,直接看「厘米到光年」那一行;想知道从地球到比邻星约 4.24 光年折合多少厘米,就把「光年到厘米」那一行乘以 4.24。表里没有列出的组合,用上方计算器任选两个单位同样算得出来。
需要提醒:对照表描述的是单位与单位之间的固定比例,与你上方填的具体数值无关;你自己的实算结果请以上方结果区为准。
结果边界与舍入
- 输入范围。「数值」允许 0~1000000000。空值、非数字、负数、超出上限这四种情况都会弹出具体的中文提示,写明出问题的字段和允许区间,不会静默当成 0 处理。
- 两个单位相同。若「从单位」和「到单位」选了同一个,结果恒等于输入值。页面照常算出结果,同时在提示行写明「源单位与目标单位相同,结果恒等于输入值,请改选目标单位」。
- 大数与极小数的显示。结果小于 1e-12 或大于等于 1e15 时改用六位小数的科学计数法。所以 1.057000834e-18 在结果区写成 1.057001e-18,若要完整十位有效数字,请参考对照表。
- 中间量级的处理。绝对值大于等于 1 时按 10 位有效数字取位再去掉多余的零;绝对值小于 1 时先取 15 位小数再去掉尾部零。这样 0.01 不会被写成 0.010000000,10 也不会平白多出小数。
- 浮点误差的量级。0.01 与 9460730472580800 在双精度下有 1e-16 量级的表示误差,折算到结果上仍然远小于显示位数,指数部分是可靠的。
- 全程本地。换算只在当前浏览器里做,不发起网络请求,不写 Cookie 和 localStorage,关掉页面什么都不剩。
常见问题
1 厘米到底等于多少光年?
按精确定义,1 厘米 = 0.01 米,1 光年 = 9460730472580800 米,所以 1 厘米 = 0.01 ÷ 9460730472580800 ≈ 1.057e-18 光年。这是个极其微小的数,直观说明了光年作为天文单位有多大。
光年为什么是精确的整数米?
因为真空光速被定义为恰好 299792458 米每秒,儒略年被定义为恰好 365.25 天即 31557600 秒,两者相乘 299792458 × 31557600 = 9460730472580800,是个精确整数,没有测量误差。
结果区为什么写 1.057001e-18 这么多个零?
那是科学计数法,读作「1.057001 乘 10 的负 18 次方」。因为结果小于 1e-12,页面改用六位小数科学计数法,避免排出十七个前导零。对照表里是十位有效数字的完整值。
厘米和毫米、微米怎么区分?
1 厘米 = 10 毫米 = 10000 微米 = 10000000 纳米,逐级差十倍或千倍。选错目标会让结果差出 10 的若干次方,下拉请看清 cm、mm、µm、nm 的标记。
光年是时间单位吗?
不是。光年是长度单位,指光在一年里走过的距离。日常口语里偶尔拿它形容「很久」,但在物理和天文里它是地道的距离,本页也只把它当长度处理。
我的数值被拒绝提示「超出范围」怎么办?
本页允许 0~1000000000。若填了负数、或把 10 亿写成 100 亿,会触发拒绝并提示具体边界;把数值调回 0~10亿 区间即可正常换算。
能不能算面积或体积?
不能。本页只做一维长度换算,面积要平方、体积要立方,因子完全不同。需要面积请找面积换算工具,不要在这里用长度因子硬凑。
结果会被上传吗?
不会。所有换算只在你当前浏览器本地完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。开发者工具 Network 面板里连点几次换算,始终是空的。