卡路里赤字计算器

填每日总消耗和每日摄入,本页立刻算出热量缺口,并换算成每周缺口、周期累计缺口与预计减重。数字全在浏览器里算,输入不上传服务器,手机也能直接打开用。

计算口径:缺口 = TDEE − 摄入、累计 = 缺口 × 天数、预计减重 = 累计 ÷ 每公斤等价热量;演示值 TDEE 2200、摄入 1700、30 天、7700 千卡/公斤,保留 2 位小数。

使用方法

卡路里赤字计算器把「消耗」和「摄入」两个数字直接换成六组能执行的结论,五步走完:

  1. 「每日总消耗 TDEE」填你一整天的总消耗热量,演示值 2200 千卡。手头没有数据时,可先用体重(公斤)× 30 粗估,再按活动量上下调 10%。
  2. 「每日摄入」填一天真正吃进去的热量,演示值 1700 千卡。建议连记三天取平均,比单日回忆更接近真实。
  3. 「计划天数」填 1~365,演示值 30。天数只影响累计缺口与预计减重,不影响每日缺口。
  4. 「每公斤脂肪等价热量」默认 7700 千卡,可调 6000~9000;想看保守版本就填 9000。
  5. 点「计算热量缺口」,或在任一输入框按 Enter。六张卡片分别给每日缺口、每周缺口、周期累计、预计减重、每周减重与缺口占比;下方对照表默认 12 行,「加载更多」补到 16 行,可导出 CSV、JSON 或复制 TSV。

卡路里赤字计算器能解决什么

它把「我到底少吃了吗」变成一个有单位的数字,主要解决四类问题:

  • 判断方向对不对:消耗 2200、摄入 1700 时每日缺口 500 千卡;万一填反了(摄入 2200、消耗 1700),结果是负的 500,页面直接标成「热量盈余」,不用你自己判断正负。
  • 把缺口换成体重预期:30 天累计 15000 千卡,按 7700 千卡每公斤折算约 1.95 公斤。很多人以为每天少 500 就能一周掉一斤,其实每周只有约 0.45 公斤,这个落差最容易让人半途放弃。
  • 校验速度是否过猛:看「缺口占每日消耗的比例」,演示值 22.73%。长期超过 25% 通常难以维持,也更容易掉肌肉,此时应把天数拉长或把缺口调小。
  • 反推摄入目标:先定想要的每周减重(例如 0.4 公斤),用对照表倒查需要的每日缺口(约 440 千卡每天),再从 TDEE 里减掉它,得到当天的摄入上限。

本页不做的事:不替你算 TDEE 本身(那需要基础代谢与活动系数,请用对应的消耗工具);不区分脂肪、糖原与水分带来的体重变化;不输出饮食处方或医学建议。若你有基础疾病、处于孕期或未成年,请以专业意见为准。

原理和变量

① 用了哪个具体函数:核心是四个一次运算,缺口 = TDEE − 摄入、每周 = 缺口 × 7、累计 = 缺口 × 天数、减重 = 累计 ÷ 每公斤等价热量,占比用 缺口 ÷ TDEE × 100。整页没有迭代或拟合,一次算完,所以每个结果都能手工复核。

② 关键参数为什么这样取:每公斤等价热量默认 7700 千卡,来自「脂肪组织约含 87% 纯脂肪、每克脂肪约 9 千卡」的经验折算(0.87 × 9000 约 7830,业界常取 7700)。它比直接用 9000 更接近真实体脂,所以默认值选它而不是更整齐的 9000。

③ 遵循哪个标准:能量单位统一用千卡(kcal),1 千卡 = 4.184 千焦;日常口语里的「卡路里」在这里等价于千卡,不是小写的 cal。小数位由「小数位」输入决定,默认 2 位,取舍统一用 Number(v.toFixed(d))。

④ 输入怎么变成输出:先 2200 − 1700 = 500;再 500 × 7 = 3500;500 × 30 = 15000;15000 ÷ 7700 = 1.94805… 保留两位得 1.95;3500 ÷ 7700 = 0.4545… 得 0.45;500 ÷ 2200 × 100 = 22.73。六个中间量在六张卡片里一一对应。

⑤ 边界与阈值:TDEE 允许 800~6000,摄入 0~6000,天数 1~365,等价热量 6000~9000,小数位 0~4。任一项为空、非数字、越界都会给出带字段名的中文提示后才继续;摄入大于 TDEE 不算错误,只是缺口为负并显示「热量盈余」。

⑥ 常见误用的正确解释:把 TDEE 当成基础代谢(BMR)会让缺口虚高一大截,BMR 只是躺着不动的消耗,TDEE 才是全天的;把头几天的快速掉秤当成脂肪减少,其实多半是糖原和水分;把 7700 线性外推到半年以上会明显高估,因为身体会随体重下降自动降低消耗。

完整示例(数值仅作演示)

保持演示值:每日总消耗 2200 千卡、每日摄入 1700 千卡、计划 30 天、每公斤 7700 千卡、保留 2 位小数。

  • 每日热量缺口:2200 − 1700 = 500 千卡每天。
  • 每周缺口:500 × 7 = 3500 千卡每周。
  • 周期累计:500 × 30 = 15000 千卡。
  • 预计减重:15000 ÷ 7700 = 1.94805… 保留两位 → 1.95 公斤。
  • 每周预计减重:3500 ÷ 7700 = 0.4545… 保留两位 → 0.45 公斤每周。
  • 缺口占消耗比:500 ÷ 2200 × 100 = 22.73%。

这六组数字与页面默认卡片、对照表第 5 行完全一致,可三处核对;把摄入改成 2200、消耗改成 1700,则会得到负 500 并提示热量盈余。

输入范围与对照表

对照表固定 30 天、每公斤 7700 千卡,前 12 行改变每日缺口,后 4 行继续放大缺口,累计缺口与预计减重按同一组公式计算。

30 天周期下,每日缺口对累计缺口与预计减重的影响
每日缺口(千卡)每周缺口(千卡)30 天累计(千卡)预计减重(公斤)
10070030000.39
200140060000.78
300210090001.17
4002800120001.56
500(演示值)3500150001.95
6004200180002.34
7004900210002.73
8005600240003.12
9006300270003.51
10007000300003.90
11007700330004.29
12008400360004.68

对照表能看出「缺口翻倍、减重也翻倍」的线性关系:500 千卡每天对应 1.95 公斤,1000 千卡每天正好对应 3.90 公斤,是严格的 2 倍。

结果边界和舍入

舍入位置:卡路里赤字计算器的六个结果都按「小数位」统一保留(默认 2 位,Number(v.toFixed(d)))。因为先 toFixed 再拼接,演示值不会出现 1.9500000000000002 这类浮点尾巴。小数位设 0 时,1.95 显示为 2,适合只看整数公斤。

什么时候会拒绝计算:任一项为空、填了非数字、或越过上下限时,页面在红色区域给出具体字段名和允许区间,不会静默归零。TDEE 低于 800 通常意味着单位或量级填错;天数超过 365 请分两段算。

负数与盈余:摄入大于消耗时缺口为负,页面照常算出负的每周与累计值,并在卡片标题上写「热量盈余」,这是正常结果不是报错。

结果性质:这是基于能量守恒的理论估算值,没有考虑代谢适应、水分波动与肌肉量变化,只作计划与复盘参考,不构成饮食或医疗建议。

常见问题

摄入比消耗大会算出什么?

会算出负缺口,页面标为「热量盈余」。例如摄入 2200、消耗 1700 时每日负 500 千卡,30 天累计负 15000,代表这段时间处于能量过剩状态。

7700 千卡每公斤是怎么来的?

来自脂肪组织约含 87% 纯脂肪、每克脂肪约 9 千卡的经验折算,0.87 × 9000 约 7830,业界习惯取 7700。想看保守估计可在「每公斤等价热量」里改成 9000。

为什么实际体重变化和数字差很多?

因为前几周的体重波动主要来自糖原与水分,不是脂肪。减少碳水后身体会排水,体重掉得快;补回来又会回升。建议看四周以上的趋势线,而不是单日数字。

计划天数能超过 365 吗?

单页上限是 365 天。更长的计划建议分年计算,并且不要把同一个每日缺口一路套到底,体重下降后消耗也会下降,需要重新估算。

小数位设多少合适?

看每日缺口用 0 位最清爽;看预计减重用 2 位(1.95 公斤);做对照实验时可用 3~4 位。上限 4 位,再多没有实际意义。

缺口是不是越大越好?

不是。演示值 22.73% 属于中等偏积极;长期超过 25% 难以坚持,也更容易流失肌肉。更稳妥的做法是把天数拉长,用 300~500 千卡的温和缺口。

千卡和千焦怎么换算?

1 千卡 = 4.184 千焦。若你的食物标签用千焦,先除以 4.184 换成千卡再填,例如 9200 千焦约等于 2200 千卡。

我的输入会被保存或上传吗?

不会。全部计算在浏览器内完成,刷新即清空;可在开发者工具的 Network 面板复查,点「计算热量缺口」时不会发出任何请求。

相关工具