标准体重和饮食控制计算器

作者: 阮一峰

日期: 2009年11月13日

天长时间坐在电脑前,缺乏运动,小腹渐渐长出赘肉,你是否为自己的健康感到过担心呢?

为了监控体重变化,我这两天写了一个简易的"标准体重和饮食控制计算器"。只需要输入体重和身高,就可以得到你的标准体重和健康饮食的数据。

比如说,有一个身高165厘米、体重50公斤的女生,她的相关数据就是如下:

这个网页程序写得比较匆忙,欢迎大家试用,指出不足。

================================

下面我简单介绍一下用到的计算公式:

标准体重的计算公式

我使用的是针对亚洲人体形的broca公式修正版。

  身高160厘米以上的男子:标准体重=身高-105

  身高160厘米以上的女子:标准体重=身高-107.5

  身高160厘米以下的男子:标准体重=身高-100

  身高160厘米以下的女子:标准体重=身高-102.5

肥胖的定义

肥胖指数=[ ( 正常体重-标准体重 ) / ( 标准体重 ) ]x100%

  正常体重:肥胖指数 ∈ [ -10%, 10% ]

  超重:肥胖指数 ∈ ( 10%, 20% ]

  轻度肥胖:肥胖指数 ∈ ( 20%, 30% ]

  中度肥胖:肥胖指数 ∈ ( 30%, 50% ]

  重度肥胖:肥胖指数 ∈ ( 50%, +∞ )

每日所需热量

轻体力劳动者每日所需热量如下:

  标准体重者----126千焦耳(30千卡)/公斤

  肥胖者----80~105千焦耳(20~25千卡)/公斤

  消瘦者----1475千焦耳(35千卡)/公斤。

低于这个热量,就会产生减肥效果。年轻人和中度以上劳动者,应该在以上数据的基础上,相应增加每日所需热量。 常见中餐食品的热量数据,请参见我整理的《中餐与健康》一文。

饮食控制的计算公式

已知

  1克蛋白质=16.8千焦耳(4千卡)的热量

  1克脂肪=37.8千焦耳(9千卡)的热量

  1克糖类=16.8千焦耳(4千卡)的热量

根据营养学的研究,标准体重的人每日每公斤需要摄入蛋白质1.0~1.5克,脂肪0.4~0.8克,糖类4 ~6克。

在计算中,我假定每公斤体重需要蛋白质1.2克、脂肪0.8克,然后再倒推算出所需要的糖类数量。

(完)

留言(28条)

输入重量的单位不是km是kg 一定是笔误

引用coon的发言:

输入重量的单位不是km是kg 一定是笔误

多谢指出,已经更正了。

挺有意思的小工具,既然要指出问题,那我就说一下:每日需要摄入的蛋白质四舍五入。

您的标准体重是72公斤。
您目前的体重是82公斤。
高于标准体重13.89%,属于超重。
轻体力劳动时,你每日所需的热量为9072千焦耳(2160千卡)。
每日需要摄入86.39999999999999克蛋白质,57.6克脂肪,324克糖类。

引用Dianso的发言:

每日需要摄入86.39999999999999克蛋白质

已经加上四舍五入了,谢谢指出。

性别的“男”“女”这两个字加上标签,那个小圆圈的可点击范围太小了

我觉得按这个标准,那女生版还是免了吧。。。很不现实

引用yuanyuan的发言:

我觉得按这个标准,那女生版还是免了吧。。。很不现实

太重了?……

说实话,原版的broca公式根本不分男女……

引用依云的发言:

性别的“男”“女”这两个字加上标签,那个小圆圈的可点击范围太小了

样式表里做了调整,放大到130%,现在是不是觉得好一点?

其实热量摄入高了一点也没啥,一天吃进去2500卡,消耗掉就没关系了。可以看看费尔普斯、NBA球员他们一天食物的热量,就知道中餐的那点儿热量根本不算什么。关键还是在于有没有消耗掉。

多做有氧运动,散步、游泳、慢跑、骑自行车、跳绳等都可以,再辅助加以力量训练。肌肉也是可以用于消耗热量的。

摄入的热量高+缺乏适当的锻炼才是肥胖的真正原因。

蔬菜水果的摄入怎么不写?

very good one it's quite helpful

我也觉得女版很不现实,照这个标准,我接下去一个冬天都可以毫无顾忌大吃大喝了,啊哈哈哈。。。。
而且,我觉得体重不能完全反映一个人的胖瘦和健康程度,拿我自己来说,我看上去比我的体重要瘦,很多人听到我的体重数字都表示怀疑,对此我也只能说是人的骨头重量不同,要么我骨头太重了。。
而且体重只能反映全身总量,不能反映比例,有些人体重倒是不重,但肉全在腰腹胸又小,即使体重偏轻能说苗条么,我怀疑。。
另外,我一向觉得这个摄入数字很小白,谁会天天带个热量测试仪吃饭买零食啊,尤其像我们这种工作起来忙的要命的,给我什么就吃什么,谁会去计算热量啊,太奢侈了。。

引用依云的发言:
性别的“男”“女”这两个字加上标签,那个小圆圈的可点击范围太小了
阮兄,他的意思是用标签我理解是的用

<label>
测试信息<input name="123" type="radio" value="1233213" />
</label>

你现在点到文字上试试。

顶老阮的肺,干的不错。

您的标准体重是66公斤。
您目前的体重是64公斤。
低于标准体重3.03%,属于正常。
轻体力劳动时,你每日所需的热量为8316千焦耳(1980千卡)。
每日需要摄入79.2克蛋白质,52.8克脂肪,297克糖类。

我是中度体力劳动者,该怎么算呢?

看来我的不停的吃才能补上我那十公斤,哎

引用marco的发言:

蔬菜水果的摄入怎么不写?

因为热量只有三种来源:蛋白质、脂肪和糖类。

引用微蓝的发言:

像我们这种工作起来忙的要命的,给我什么就吃什么,谁会去计算热量啊,太奢侈了。。

一只水饺和一两米饭提供的热量大约都是80千卡左右,更多数据可以参考维基百科:http://zh.wikipedia.org/wiki/%E9%A3%9F%E7%89%A9%E7%86%B1%E9%87%8F%E8%A1%A8

引用路过的发言:

我是中度体力劳动者,该怎么算呢?

那就要相应增加热量摄入了。

引用想~~~的发言:
阮兄,他的意思是用标签

对,对,你提醒我了,应该就是这个意思。

计算结果

您的标准体重是72公斤。
您目前的体重是55公斤。
低于标准体重23.61%,属于中度偏瘦。
轻体力劳动时,你每日所需的热量为9072千焦耳(2160千卡)。
每日需要摄入86.4克蛋白质,57.6克脂肪,324克糖类。

哈哈哈,身高的值应该有一个区间限制吧,不可能有3米5米的人吧

这个,其实体重和一个人实际上的体态均匀无法对照来看的.

就像微蓝说的,(不论男女)每个人的骨骼形态不同,有人骨头重有人骨头轻,这是其一;其二是脂肪的密度差异都会造成视觉上完全不同体重的人实际上在体重秤上的数字却是一致.

阮兄,可以在计算中再加入bmi指数,比[低于/高于标准体重xx.xx%]更加直观.

我记得健康快乐论坛有个bmi的测试做得还蛮准的,阮兄对这方面有兴趣可去一看 http://bbs.leadlife.com.cn/这方面

一峰,试一下给“男女选择”加上label标签,会大大提高用户体验,
比你用CSS加大点击范围好些

具体请看:http://www.w3school.com.cn/tags/tag_label.asp

由于输入框只做了0的判断,身高为负数和 0,100cm之间的体重都为负数.
其实可以直接判断,体重为非正数时,都alert一句话.没必要单独在身高上判断.

您的标准体重是57.5公斤。
您目前的体重是39公斤。
低于标准体重32.17%,属于严重偏瘦。
轻体力劳动时,你每日所需的热量为7245千焦耳(1725千卡)。
每日需要摄入69克蛋白质,46克脂肪,258.75克糖类。

偏瘦这么多....

你好,能告诉我你的程序是什么吗,发给我好吗,我想研究下程序,谢谢
我的QQ是709187433

要是能跟上点健康食谱,或者建议类的食物,或者把多少克蛋白质什么的实物化就更好了,比方说,“您需要摄入多少克蛋白质(相当于几个鸡蛋)”

请问如果要加 “您需要用——个星期/月来减掉多余的——公斤” 这个计算法应该怎么写呢?

意思是自动计算每日应该摄取至少——卡(用每日减500卡,而所摄取的卡路里不低于1000卡)来减重。

同样的,增重要加: “您需要用——个星期/月来增——公斤”

恳请楼主帮助

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接