生活健康 本地计算 开箱即用 内置示例 不留痕迹

聚餐 AA 分账计算器

两种口径一次算清:均摊模式下输入总额、人数与小费 / 服务费,得到每人精确应付与抹零后应付;明细模式下输入公共费用与各人点单金额,逐人给出应付金额与公共费人均。

聚餐结账最难的不是 AA,是「有人没喝酒」「锅底算谁的」这种细节——算粗了有人吃亏,算细了伤感情。这里两条路都备好:图省事按总额均摊,连抹零怎么凑都替你想好;讲究点就按人头点单,公共费用自动摊到每个人头上,谁该付多少清清楚楚。

口径说明:均摊除不尽时给「精确值 + 抹零值」两个数(抹零向上取整,多收的几块钱凑整给收银);明细模式的公共费用(锅底、酒水、服务费)按人数均摊后加到各人点单金额上,谁点了什么一查便知,避免「我明明没吃那么贵」。

使用步骤

  1. 选模式:均摊(总额÷人数)或明细(逐人点单)。
  2. 均摊模式填总额、人数与小费/服务费比例。
  3. 明细模式填公共费用与每人点单金额,逐人算应付。
  4. 看抹零后应付,收银时按整数付更方便。

计算原理与示例

总额均摊怎么算

总额均摊最简单:每人 = 消费总额 ÷ 人数。若店家有服务费或需要给小费,先把它们按总额的百分比算出来加入总额,再除以人数。例如 300 元 4 人、服务费 5%,总额变为 315 元,每人 78.75 元。注意小费与服务费的百分比口径都是「按消费总额」,不是按加完服务费后的金额再算。

按人明细怎么算

按人明细适合点单差异大的聚餐:先把公共费用(酒水、包间费、凉菜等大家共享的部分)按人数平摊,每人再各自加上自己点的金额。例如公共 120 元 4 人(人均 30 元),甲点 80 元就付 110 元,乙点 60 元就付 90 元。这样不吃某道菜的人不必为它付钱。

抹零与多收的零头

现实中现金或转账常常要凑整,所以提供了抹零到角、元、十元三档。抹零一律向上进位,可能出现实收合计高于费用合计的情况,多出来的零头会单独列在「抹零多收」一行,方便决定留作下次、退还或用红包抵掉。

代码示例

JavaScript 均摊与抹零

function splitBill(total, people, tipRate = 0) {
  const withTip = total * (1 + tipRate);
  const exact = withTip / people;
  return {
    exact: Math.round(exact * 100) / 100,   // 精确到分
    rounded: Math.ceil(exact),              // 抹零向上取整
    overpay: Math.ceil(exact) - exact       // 多收金额
  };
}

splitBill(523, 4, 0.1);   // exact 143.83, rounded 144

Python 明细模式逐人分摊

import math

def split_detail(orders, common):
    per_common = common / len(orders)
    return {name: math.ceil(amount + per_common)
            for name, amount in orders.items()}

split_detail({"张三": 68, "李四": 92, "王五": 45}, 90)
# {"张三": 128, "李四": 152, "王五": 105}(公共 30/人,抹零)

常见问题

AA 制每人到底该付多少?

最直接的口径是总额 ÷ 人数。若自己点的比别人贵很多,用「按人明细」更公平:公共部分人均后,各人再加自己的金额。吵不清楚的那几块钱,往往来自酒水与包间费没算进公共费用。

小费和服务费要一起均摊吗?

要,但比例不同:小费与常见的 10% 服务费都按消费总额计算,而不是按加完服务费后的金额再算一次。本工具就是这么处理的,所以输入 5% 服务费时,加的是原总额的 5%。

抹零到元之后总金额对不上怎么办?

抹零一律向上取整,所以 4 人各 86.25 元会变成各 87 元,合计多收 3 元。这 3 元在「抹零多收」里单独列出,可以由收款人抹去、留作下次,或用微信红包退给付款人。

有人不喝酒,酒水钱也要均摊吗?

默认均摊模式会平摊所有费用。若要区分,把酒水金额填进「公共费用」以外的部分不现实——建议改用明细模式:把酒水从公共费用里剔除,按实际喝的人单独加入各自的点单金额。

公共费用一般包括哪些?

大家共同消费、无法归到某个人头上的项目:酒水饮料、包间费、餐位费、共享的凉菜与主食。判断标准很简单——这一项没法说清「主要谁吃的」,就放公共费用。

人数很多时怎么少出错?

用明细模式时把所有点单金额粘成一行(逗号或空格分隔)即可,人数由金额个数自动确定,不需要另外填人数;金额列表越整齐,逐人核对越容易。建议一边收钱一边对照表格勾选。

可以只用总额均摊、不想输入每个人的金额吗?

可以。切到「总额均摊」,只填总额和人数就行,小费与服务费留空即为 0。绝大多数日常聚餐用这一种就够,明细模式留给点单差距明显、有人长期不喝酒的场合。

我输入的消费金额会被上传吗?

不会。这些数字只在当前浏览器里做除法与加法,没有任何网络请求,本站也无账号体系把它与你对上号。用过的计算历史仅存在本机 localStorage,可随时一键清空。

延伸阅读

来自本站原创文章,讲清这个工具背后的算法与口径。