使用方法
- 在「身高」填米数(默认 1.70,允许 0.50~2.50,支持两位小数)。注意是米不是厘米,170 厘米要填 1.70。
- 在「体重」填公斤数(默认 65,允许 10~300,支持一位小数)。是公斤不是克,65000 克要填 65。
- 选「判定标准」:中国成人切点比 WHO 更严格,≥24 算超重、≥28 算肥胖;WHO 切点是 ≥25 超重、≥30 肥胖。默认用中国切点。
- 点「计算 BMI」或裸按 Enter,结果区立刻显示 BMI 数值、保留两位、对应档位标签,以及对照表里离正常上限差多少。
- 点「复制结果」可把本次结果存到剪贴板;「导出对照表 CSV」把 14 行身高对照下载成带 BOM 的表格,Excel 打开不乱码。
这个工具能解决什么问题
一是把「我胖不胖」从感觉变成一个数。同样 65 公斤,1.60 米的人 BMI 25.39 已经超重,1.80 米的人 BMI 20.06 还很标准——肉眼看体型远不如一个指数直观。BMI计算器把身高体重压成一个可比的数值,方便长期跟踪。
二是用对标准,别被国外的表吓到。亚洲人(尤其中国人)在相同 BMI 下往往比欧美人更易出现腹型肥胖和代谢问题,所以中国疾控中心的标准把超重线从 WHO 的 25 提前到 24、肥胖线从 30 提前到 28。用错标准可能让自己误判:一个 BMI 26 的中国人按 WHO 还「正常」,按国标已经超重。
三是给出「还差多少到下一档」。结果区不只报档位,还算出离正常上限的差距,比如 1.60 米 65 公斤 BMI 25.39,比 24 的上限多 1.39——这比一句「超重」更能指导该减多少。
本页不做这些事:不区分肌肉和脂肪(健身者肌肉重会被误判超重);不替代腰围、体脂率、血脂等医学指标;也不给饮食或运动处方。它只回答「按当前身高体重,BMI 落在哪个区间」。
计算原理:BMI 公式、两种切点,以及为什么身高要平方
公式是 BMI = 体重(kg) ÷ 身高(m)²。默认 65 ÷ 1.70² = 65 ÷ 2.89 ≈ 22.4913…,页面显示 22.49。身高平方来自「体重随体积(三维)增长,而身高是一维」的归一思路:把体重摊到身高的二维投影上,得到一个人人可比的稠密度。
中国成人切点(本页默认)。BMI < 18.5 为偏瘦;18.5 ≤ BMI < 24 为正常;24 ≤ BMI < 28 为超重;BMI ≥ 28 为肥胖。注意区间是左闭右开,24.0 整恰好算超重、23.9 算正常,差 0.1 就换档。
WHO 切点。BMI < 18.5 偏瘦;18.5 ≤ BMI < 25 正常;25 ≤ BMI < 30 超重;BMI ≥ 30 肥胖。同一数值 26:按中国切点超重、按 WHO 还正常。页面允许你切换,对比同一数在两个体系下的档位差异。
为什么身高要平方而不是线性除。若用「体重 ÷ 身高」线性除,1.70 米的人得 38.2、1.80 米的人得 36.1,差值被严重压缩;平方后 1.70→2.89、1.80→3.24,分母随身高放大更合理,高个子不会因腿长被低估。这也是国际通用的定义,不是本页自创。
结果为什么保留两位小数。BMI 本身精确到两位已足够临床筛查,再多的小数位只是噪声。页面用 Math.round(x * 100) / 100 截断到两位,档位判定则用未舍入的原始值,避免 23.949 被舍成 23.95 后误判——它实际仍属正常。
完整示例(默认输入实测)
示例条件与页面默认值完全一致:身高 1.70 米、体重 65 公斤、中国成人切点。逐项核对:
- 身高平方:1.70 × 1.70 = 2.89(内部以米为单位,不转厘米);
- BMI 原始值:65 ÷ 2.89 = 22.4913…,显示 22.49;
- 档位判定:18.5 ≤ 22.49 < 24 → 正常(标签绿色);
- 距正常上限:24 − 22.49 = 1.51,即还能涨 1.51 个 BMI 才到超重线;
- 交叉验证:对照表里 1.70 米行 BMI 22.49、档位「正常」,与上方结果完全一致。
换一组也能手算:身高 1.60 米、体重 65 公斤,BMI = 65 ÷ 2.56 = 25.39,落在 24~28 区间 → 超重;身高 1.90 米、体重 65 公斤,BMI = 65 ÷ 3.61 = 18.00,< 18.5 → 偏瘦。三个数都在对照表里有对应行。
输入范围与对照表
- 身高:0.50~2.50 米,两位小数。低于 0.50 或高于 2.50 会被拒绝并指出是哪个字段超界;填成 170(厘米)会因超出 2.50 上限被拦下并提示「请填米,如 1.70」。
- 体重:10~300 公斤,一位小数。填 0、负数、字母或非数字都会得到具体提示,页面不会静默归零。
- 判定标准:下拉二选一,只影响档位标签,不改变 BMI 数值。切换后结果区立即重算。
- 对照表:固定 65 公斤,身高从 1.45 到 2.10、步长 0.05,共 14 行;前 12 行直接显示,后 2 行点「加载更多」展开,可导出 CSV 或复制 TSV。
对照表里的「距正常上限」是用中国切点 24 算的:BMI 高于 24 显示正差值(已超重多少),低于 24 显示负差值(距超重线还差多少)。它直观说明「差一点点」和「差很多」的区别。
边界与精度说明
- 平方的浮点误差极小,不影响档位。1.70 × 1.70 在 IEEE 754 里是 2.8900000000000001,除以 65 得 22.4913…,舍入到两位仍是 22.49;这个量级远不会跨过 18.5/24/28 任何一条切线,所以本页不做整数分那种极端处理。
- BMI 不区分肌肉与脂肪。一个 1.80 米、85 公斤的健身者 BMI = 85 ÷ 3.24 = 26.23,按国标算「超重」,但他可能是低体脂的肌肉型。BMI计算器是筛查工具不是体成分仪,肌肉量大的人应结合体脂率看。
- 儿童与孕妇不适用。儿童要用「BMI 年龄百分位」曲线(同年龄同性别里排第几),本页的成人切点对他无效;孕妇因体重构成特殊,也不建议用成人切点判断。
- 老年人切点可略放宽。部分指南对 65 岁以上人群把正常范围上移,本页默认坚持统一国标,若你服务于老年群体,请按对应指南另行解读结果。
- 数值只在本地计算。整条链路只有除法、平方、比较和四舍五入,全部在当前页面执行,没有任何网络请求,也不写 Cookie 或 localStorage,关掉页面即清空。
常见问题
为什么我 BMI 26 还算「正常」?
你很可能切到了 WHO 标准(超重线 25、肥胖线 30),26 在 WHO 里仍属「正常」。但按中国成人切点,≥24 就超重、≥28 才肥胖,26 已经超重。页面默认中国切点,若被国外资料误导,切换回「中国成人切点」即可看到正确档位。
健身的人 BMI 偏高是不是不准?
是的。BMI 只看体重和身高,分不清肌肉和脂肪。肌肉密度大、体重重的人(如 1.80 米 85 公斤的健美者 BMI 26.23)会被判超重,但他体脂可能很低。这类人群应配合体脂率、腰围判断,别被单一指数吓到。
身高填 170 为什么算不出来?
因为单位是米,170 会被当成 170 米,超出 0.50~2.50 的上限被拒绝。正确填法是 1.70。页面提示里也写了「请填米,如 1.70」,避免把厘米直接塞进去导致数量级错误。
中国标准和 WHO 标准该用哪个?
面向中国成人筛查优先用中国成人切点(本页默认):超重线 24、肥胖线 28,更贴合亚洲人的脂肪分布。若你要和国外研究、论文的口径对齐,再切到 WHO 切点(25 / 30)。两种标准下 BMI 数值不变,只是档位标签不同。
BMI 22.49 为什么不是直接显示 22.5?
页面保留两位小数是常规做法,22.4913… 舍入到两位就是 22.49;同时档位判定用的是未舍入的原始值 22.4913,所以它稳稳落在 18.5~24 的正常区间。若显示成 22.5 反而可能让读者误以为更接近 24 上限。
小孩能用这个 BMI计算器吗?
不能直接用。儿童处于生长发育期,BMI 必须对照「年龄 + 性别」的百分位曲线(如同龄人里排第 85 百分位以上算超重)。本页的成人切点(18.5/24/28)对未成年人无效,给儿童评估请用专门的儿童生长标准工具。
怀孕了 BMI 怎么看?
孕期体重增长含有胎儿、羊水、血容量等,成人切点不再适用,不能用本页结果判断胖瘦。产后恢复后再测更合理;孕期的体重管理请遵循产检医生的个体建议。
结果会被上传或保存吗?
不会。所有计算只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里连点几次「计算 BMI」,面板始终是空的。