使用方法
- 填身高,单位是厘米,示例值 170,允许 60~250 cm,可填到 0.5 的精度。量身高要脱鞋、后脑贴尺;注意早晚身高会差 1~2 cm,见下文边界说明。
- 填体重,单位是千克,示例值 72,允许 2~500 kg,可填到 0.1 的精度。建议固定在早晨空腹、如厕后称,避免一天内的水分波动干扰。
- 看结果区第一张卡是 BMI 数值(示例 24.9),后面两张卡分别是中国标准与 WHO 标准下的判定,颜色不同就表示两个口径给出了不一样的结论。
- 再往后三张卡把判定换算成体重:在你这个身高下,达到中国超重线、中国肥胖线、WHO 超重线各自需要多少千克,等于把 BMI 刻度翻译成你每天站上秤能看到的目标。
- 色带上的黑色三角是指针位置,五条虚线依次是 18.5、24、25、28、30 五个切点。点「复制对照表」把双口径判定表以 TSV 复制走,点「导出 CSV」把身高逐档阈值表存成带 BOM 的 CSV。
这个BMI图表能解决什么问题
一是把「一个数字」变成「一段区间里的位置」。BMI 本身没有好坏,只有落在哪一档才谈得上判定。色带把 10~40 这三十个 BMI 单位铺开,一眼就能看出你离下一条分界线还有多远,而不是只拿到一个孤立的数值。
二是处理同一体重的两套判定。示例 170 cm、72 kg 算出 BMI 24.9:按中国标准已经进入超重区间(24.0~27.9),按 WHO 国际标准仍属于正常(18.5~24.9)。这个 BMI 图表把两个判定并排显示,避免你在不同材料里看到互相矛盾的说法时无所适从。
三是把 BMI 反算成体重目标。想知道「降多少才算回到正常区间」,不用反复试数:结果卡直接给出在你这个身高下 24.0、28.0、25.0、30.0 各条线对应的千克数。170 cm 的人,中国超重线是 69.4 kg,WHO 超重线是 72.2 kg,两个人秤上的差距只有 2.8 kg。
四是给一份可以查表的身高档位表。身高 140 cm 到 215 cm 每 5 cm 一档,逐档列出四条体重线的千克数,适合给家人或一批人批量对照,不用一个个算。
本页不做这些事:不测体脂率、不评估肌肉量、不看腰围以外的围度、不做儿童青少年百分位判断。BMI 只由身高体重两个变量决定,儿童与青少年要改用年龄性别百分位曲线,孕期要用孕前 BMI 与孕期增重范围。想看体脂率请用相关工具里的「身体体脂率计算器」,想按腰围看中心型肥胖请用「腰围转身高比值计算器」。
计算原理:公式、双标准切点与色带定位
公式只有一步除法。BMI = 体重(kg)÷ 身高(m)的平方,代码里写成 体重 / Math.pow(身高 / 100, 2)。注意这里必须先除以 100 把厘米换成米,常见的错法是直接拿 170 去平方再除体重,结果会小到 0.002 左右。示例代入:72 ÷ 1.7² = 72 ÷ 2.89 = 24.9135,四舍五入保留一位小数就是 24.9。
为什么只显示一位小数。两个输入量的精度决定了输出精度:体重读到 0.1 kg、身高读到 0.5 cm 时,BMI 的第二位小数已经在漂移。170 cm 的人体重差 1 kg 会让 BMI 变化约 0.35,身高差 1.5 cm 会让 BMI 变化约 0.45,都远大于 0.01。一位小数是 WHO 报告与临床表格的通行精度,再多给几位只会造成「精确的错觉」。
中国标准的四个切点。现行依据是 WS/T 428-2013《成人体重判定》:BMI 小于 18.5 为体重过低,18.5 到不足 24.0 为体重正常,24.0 到不足 28.0 为超重,28.0 及以上为肥胖。同一份标准还给了腰围口径:男性腰围 85~90 cm、女性 80~85 cm 为中心型肥胖前期,男性≥90 cm、女性≥85 cm 为中心型肥胖。
WHO 标准的四个切点。WHO 国际口径是:小于 18.5 为偏瘦,18.5 到不足 25.0 为正常,25.0 到不足 30.0 为超重,30.0 及以上为肥胖。两套标准在低位完全一致,分歧全部落在 24.0~25.0 与 28.0~30.0 这两个「错位区间」上。
为什么中国标准更严。同样一个 BMI,亚洲人群的内脏脂肪比例与 2 型糖尿病、心血管事件风险普遍高于同 BMI 的白人人群。WHO 在 2004 年针对亚洲人群的专家磋商里已经把亚洲人的超重线前移到 23、肥胖线前移到 27.5 作为参考,中国现行的 24 / 28 就是在这个背景下定下来的。所以这个BMI图表默认以中国标准给色带上色,WHO 口径作为并排对照而不是替代。
色带怎么定位。色带横轴取 BMI 10~40 这三十个单位,指针位置是一个线性映射:(BMI − 10) ÷ 30 × 100%。默认 BMI 24.9 代入得到 49.67%,正好落在 24 与 25 那两条虚线之间——这也是「两个口径给出不同结论」在图上最直观的样子。刻度位置同样是这样算出来的:18.5 在 28.33%,24 在 46.67%,25 在 50.00%,28 在 60.00%,30 在 66.67%。
判定用的是原始值,不是显示值。这一点很容易被忽略:体重 69.28 kg、身高 170 cm 时原始 BMI 是 23.9723,屏幕上显示 24.0,但判定仍然按原始值算作「体重正常」,因为它没有真正达到 24.0。只有当数值确实跨过切点,判定才会改变。
完整示例(数值仅作演示)
示例条件与页面打开时的默认值完全一致:身高 170 cm、体重 72 kg。中间量与结果如下:
- BMI = 72 ÷ 1.7² = 72 ÷ 2.89 = 24.9135,显示为 24.9;
- 按中国标准:24.9 落在「24.0 ≤ BMI < 28.0」这一档,判定超重;
- 按 WHO 标准:24.9 落在「18.5 ≤ BMI < 25.0」这一档,判定正常;
- 两个口径在这一档分歧,分歧宽度是 1.0 个 BMI 单位(中国线 24.0 与 WHO 线 25.0 之间);
- 中国超重线在你这个身高对应 69.4 kg,中国肥胖线对应 80.9 kg,WHO 超重线对应 72.2 kg,WHO 肥胖线对应 86.7 kg,体重正常的下限是 53.5 kg;
- 色带指针位于 49.67%,夹在 46.67%(BMI 24)与 50.00%(BMI 25)两条虚线之间。
把同一组读数量到别的身高上,可以看出 BMI 对身高有多敏感:BMI 24.9 在 160 cm 身高上只对应 63.7 kg,在 170 cm 上是 72.0 kg,到 180 cm 就变成 80.7 kg。所以要拿 BMI 横向比人,前提是身高接近;想知道自己离分界线还有几千克,看结果卡里的反算体重比看 BMI 更有用。
身高与各标准体重阈值对照表
下表把你这个身高下四个切点对应的体重精确列出来,第一列是身高,后面四列分别是中国超重线、中国肥胖线、WHO 超重线、WHO 肥胖线,单位都是千克。它同时把两套标准并排放了,可以直接看出中国线比 WHO 线低多少千克:
| BMI 区间 | 中国标准判定 | WHO 标准判定 | 两者是否一致 |
|---|---|---|---|
| 小于 18.5 | 体重过低 | 偏瘦 | 一致 |
| 18.5 ~ 23.9 | 体重正常 | 正常 | 一致 |
| 24.0 ~ 24.9 | 超重 | 正常 | 分歧(相差 1.0) |
| 25.0 ~ 27.9 | 超重 | 超重 | 一致 |
| 28.0 ~ 29.9 | 肥胖 | 超重 | 分歧(相差 2.0) |
| 30.0 及以上 | 肥胖 | 肥胖 | 一致 |
下面这张按身高逐档列体重,身高从 140 cm 到 215 cm 每 5 cm 一档,共 16 行,默认显示前 12 行,点「显示更多」补齐,「导出 CSV」导出的始终是全部 16 行。算法是 体重 = BMI 切点 × (身高 ÷ 100)²,例如 170 cm 行的中国超重线 = 24 × 1.7² = 69.4 kg:
| 身高(cm) | 正常下限 18.5 | 中国超重线 24.0 | 中国肥胖线 28.0 | WHO 超重线 25.0 | WHO 肥胖线 30.0 |
|---|
输入范围、边界与舍入说明
- 身高 60~250 cm、体重 2~500 kg,都不是任意设的。低于 60 cm 是婴幼儿体型,BMI 不适用;高于 250 cm 已超出成人身高范围。体重低于 2 kg 或高于 500 kg 同样超出了「身高体重两变量」这套模型能解释的区间,页面会直接拒绝而不是硬算。
- 非数字、空值、单位写错都会被拦下并给出具体提示。身高填 1.7(把米当成厘米)会落到 60 以下被拒绝;体重填 158(把斤当成千克)会算出一个明显偏大的 BMI,此时页面会提示数值超出常规范围,请确认单位。
- 判定用原始 BMI,显示保留一位小数。这两件事在切点附近会看起来打架:69.28 kg、170 cm 的原始 BMI 是 23.9723,屏幕显示 24.0,判定却仍是「体重正常」。页面在这一类临界情况下会额外给出一句提示,说明显示值与判定依据不同。
- 色带横轴固定在 10~40。BMI 低于 10 时指针贴在色带最左端,高于 40 时贴在最右端并单独提示「已超出色带刻度」,不会出现指针跑到色带外面或者反过来把色带拉变形。默认示例测试过极端组合:140 cm、200 kg 得到 BMI 102,指针贴右端。
- 身高早晚会差 1~2 cm,体重一天内会差 1~2 kg。170 cm 的人身高缩 1.5 cm,BMI 从 24.9 变成 25.4;体重多 1 kg,BMI 从 24.9 升到 25.3。两者都足以跨过 25.0 这条线,所以建议固定在同一时段、同一状态测量再比较。
- BMI 不区分肌肉与脂肪。170 cm、80 kg 的健美体型会算出 BMI 27.7,按中国标准判为超重,但体脂率可能完全正常。反过来四肢细、腹部脂肪多的体型也可能 BMI 不高却属于中心型肥胖,这种情况要看腰围而不是 BMI。
- 结果全在本地算,不上传也不留痕。页面没有任何网络请求,身高体重不会离开浏览器、不写入本地存储,刷新后回到默认的 170 / 72。想自查可以打开开发者工具的 Network 面板,改几次数值,看是否有新请求发出。
常见问题
为什么 24.9 在中国标准里算超重,在 WHO 标准里算正常?
因为两套标准的超重线不一样:中国是 24.0,WHO 是 25.0。24.9 落在 24.0 和 25.0 之间,正好是两套标准唯一的错位区间之一(另一个是 28.0~29.9)。中国线定得更低,是因为亚洲人群在相同 BMI 下内脏脂肪与代谢风险普遍更高,WHO 对亚洲人群的参考切点也曾前移到 23 / 27.5。
BMI 24.9 到底该听哪一套?
如果你在中国就医或体检,用中国标准(WS/T 428-2013)的 24 / 28;如果是看国际文献或外文资料,用 WHO 的 25 / 30。两套都不做个人健康结论,只做人群筛查。真正的判断要结合腰围、体脂率、血压血脂血糖和家族史,这些都不在 BMI 里。
为什么我算出来和健身房的体测仪不一样?
先看输入是否一致:体测仪常把身高按 1 cm 取整、体重按 0.1 kg 计,还会在测量误差范围内浮动。如果身高体重完全相同(170 cm、72 kg),任何正确实现都应得到 24.9,查不出差异就说明是输入不同。体测仪额外给出的体脂率来自生物电阻抗,和 BMI 是两套完全不同的模型,不能互推。
为什么显示 24.0 却判定为体重正常?
因为判定用的是原始值而不是屏幕上的显示值。原始 BMI 23.9723 保留一位小数后显示成 24.0,但它并没有真正达到 24.0 这条切点,所以仍判「体重正常」。差值只有 0.03 左右,够不上跨线。页面遇到这类临界情况会额外提示,避免你把显示值当判定依据。
色带为什么以 10 和 40 为两端,而不是 0 到 100?
因为成人 BMI 绝大多数落在 15~35 之间,用 10~40 这三十个单位做横轴,切点之间的间距才拉得开、看得出位置。如果从 0 开始画,18.5 到 30 这一整段会被挤在左边三分之一里,指针移动几毫米就跨两三档,反而看不出差别。
儿童和青少年能用这个 BMI图表吗?
不能直接用。18 岁以下要按年龄、性别查百分位曲线(例如 P85、P95 两条线),同一个 BMI 在不同年龄的判定完全不同,成人的 24 / 28 切点对儿童没有意义。孕期同理,要用孕前 BMI 配孕期增重范围来判断,不能用当前体重算出的 BMI 去套成人标准。
老年人算出来的 BMI 偏低,需要增重吗?
先别急着下结论。65 岁以上人群的 BMI 与死亡率关系不像中青年那样单调,老年人还需要关注肌肉量(肌少症)而不是单纯体重。身高测量本身在这个年龄段也容易偏大,因为脊柱压缩、驼背会影响读数。建议把 BMI 交给医生结合握力、步速等指标一起看。
为什么结果卡要单独给「各条线对应的体重」?
因为 BMI 是个派生量,体重才是你每天能站上秤看到的东西。知道自己离中国超重线还差 2.6 kg(72 − 69.4),比知道 BMI 24.9 更可执行。这几张卡也是把单位从 BMI 换算回千克的唯一入口:换算公式是 体重 = BMI 切点 × (身高 ÷ 100)²,每个身高都不一样,所以本页按你的实际身高现算。