V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
channg
V2EX  ›  程序员

程序中 100 元钱, 3 人 aa 收款应该怎么分配金额最合理

  •  
  •   channg · 5 天前 · 6787 次点击
    第 1 条附言  ·  5 天前
    微信的逻辑是三个人都是 33.34 一共收 100.02

    支付宝没测 看你们说的是 发起人 33.32 其他人 33.34 正好 100

    还有其他的吗
    43 条回复    2024-10-12 11:04:37 +08:00
    GeruzoniAnsasu
        1
    GeruzoniAnsasu  
       5 天前   ❤️ 2
    发起人 33.34
    sagaxu
        2
    sagaxu  
       5 天前   ❤️ 25
    平台抽成 1 分
    spritecn
        3
    spritecn  
       5 天前
    参考银行家舍入法,只要后面有数就进 1
    yxzblue
        4
    yxzblue  
       5 天前
    对程序来说,分完最重要。没有什么合理不合理的。要么就按 2 楼的。
    snipking
        5
    snipking  
       5 天前
    最后一个付款人 33.334
    corcre
        6
    corcre  
       5 天前   ❤️ 1
    平台抽成+1, 保证收到的钱>=给出去的钱, 而且每人给的金额一致, 不然就(点此看广告减免 0.01 元)...
    j4fun
        7
    j4fun  
       5 天前   ❤️ 3
    不能返回错误,重新输入价格吗~
    8355
        8
    8355  
       5 天前
    可以试下支付宝和微信群收款的逻辑
    tomatocici2333
        9
    tomatocici2333  
       5 天前
    前俩个人均分,剩下的都给第三个。完全均分就不可能
    qq8567952
        10
    qq8567952  
       5 天前
    跟微信支付宝的一样就好啦,除了发起人,其余的都是 33.34
    shortawn
        11
    shortawn  
       5 天前   ❤️ 3
    如果是系统向用户收款,应该鼓励大家踊跃支付,所以对最后一个付款的人多收 1 分钱。如果是系统向用户付款,那就都 33.33 ,平台抽走 1 分。
    sn0wdr1am
        12
    sn0wdr1am  
       5 天前
    @tomatocici2333 这个合理,处理方便。
    Aawhale
        13
    Aawhale  
       5 天前   ❤️ 1
    80% 13% 7% 我是觉得这样最合理
    Umenezumi
        14
    Umenezumi  
       5 天前
    @Aawhale 出院!
    Admstor
        15
    Admstor  
       5 天前
    用支付宝的 AA 收款测试了一下
    我发起人,输入 100 ,3 人 AA
    收到 2 个 33.34
    也就是我只付 33.32

    供参考

    V2 现在怎么贴图啊
    avenger
        16
    avenger  
       5 天前 via iPhone   ❤️ 1
    微信的逻辑是 100 元每人收 100.02
    cooltechbs
        17
    cooltechbs  
       5 天前 via Android
    @spritecn 银行家舍入法说的是“四舍六入五成双”吧,怎么会是进一法呢
    unco020511
        18
    unco020511  
       5 天前
    参考支付宝和微信的 AA 逻辑
    JensenQian
        19
    JensenQian  
       5 天前
    @Admstor #15 只支持 imgur

    i.imgur.com 的图片链接
    Sawyerhou
        20
    Sawyerhou  
       5 天前 via Android
    三个人每个人多出一分钱的概率都是三分之一,所以怎么收都公平,而且没人在意那一分钱。
    channg
        21
    channg  
    OP
       5 天前
    微信的逻辑是三个人都是 33.34 一共收 100.02

    支付宝没测 看你们说的是 发起人 33.32 其他人 33.34 正好 100

    还有其他的吗
    spinlock
        22
    spinlock  
       5 天前
    @channg 腾讯一点格局都没有
    lyxxxh2
        23
    lyxxxh2  
       5 天前


    我们全部分完。
    equallyMoney(20,[
    0 => 1, 1 => 1, 2 = > 1
    ])

    return:
    ```
    [
    6.66,6.67,6.67
    ]
    ```
    leegoo
        24
    leegoo  
       5 天前
    先均分一下金额,剩余金额让用户选择 谁承担
    isSamle
        25
    isSamle  
       5 天前   ❤️ 5
    四舍五入+多轮平均
    第一个 100/3=33.33
    第二个(100-33.33)/2=33.34
    第三个(100-33.33-33.34)/1=33.33
    yb2313
        26
    yb2313  
       5 天前
    给一个人 99 ,剩下一块钱给剩下两个人,并且告诉他们只有 3 块钱
    isSamle
        27
    isSamle  
       5 天前
    每个人第二个付款的概率是相同的,期望上来讲就是公平的
    ramirezyolis808
        28
    ramirezyolis808  
       5 天前
    最晚 A 的一个人多收一分
    Huelse
        29
    Huelse  
       5 天前
    原则上是前 n-1 平分(取 n 的平均值),最后一个补齐。
    wangming262626
        30
    wangming262626  
       5 天前
    感觉常见的都是四舍六入五成双,发起人或者第一个或者最后一个补齐小数差额。
    keakon
        31
    keakon  
       5 天前
    一分钱,3 人 aa 收款应该怎么分配金额最合理
    SuspectX
        32
    SuspectX  
       5 天前 via Android
    没人 33.3 ,收 0.1 手续费
    lostwolfkf
        33
    lostwolfkf  
       5 天前
    每人 33.33 ,平台出 0.01 [狗头]
    solangm
        34
    solangm  
       5 天前
    每个人都收 100
    kakacoco
        35
    kakacoco  
       5 天前
    @spinlock 群收款是收给发起者了又不是平台,跟格局有啥关系
    realpg
        36
    realpg  
       4 天前
    直接显示三个金额 33.33 33.33 和 33.34 让人自己点选
    realpg
        37
    realpg  
       4 天前
    再修正一下描述 N 个人分摊总金额
    你进入时 查询已经有多少人支付
    显示剩余待付金额总数除以还有多少人没支付的金额按钮 已有人付的显示灰色按钮和已经支付金额

    如果除不尽 则其他所有金额相同 最后一个金额增加尾数

    同时 在下面增加一个其他金额的输入框 允许输入大于当前平均金额 小于剩余总金额数字 并发起支付
    xiaokongwu
        38
    xiaokongwu  
       4 天前
    尾差放在发起人或者最后一个人上
    moefishtang
        39
    moefishtang  
       4 天前
    倒贴一元钱[滑稽]
    rming
        40
    rming  
       4 天前 via iPhone
    每人收 34
    jeesk
        41
    jeesk  
       4 天前 via Android
    参考分期还款比如 33.3 ,100 减去 2 个 33.3 就是 33.4 , 都是要做账的, 多了一毛钱 100.1 , 到时候程序除了问题, 你账单无法解释 100 元, 更加麻烦,还容易还利用
    Admstor
        42
    Admstor  
       4 天前   ❤️ 1
    补充一下我试着理解一下支付宝为什么这么分配

    因为 AA 账单是都可见的
    比如我 A 是发起收款,B 和 C 是付款
    B 和 C 都可以看到总金额,和 BC 分别付款多少

    支付宝这种操作可以让 BC 看到的是两人支付金额都是一样的,可能更符合 AA 的逻辑

    至于发起人少付 2 分钱,一般按照中国习俗,别人帮你代购(这种 AA 账单可以理解为一种代购吧),比如 198 元,一般都直接给 200 ,多的 2 元算是辛苦费。所以这里最终只产生了几分钱的差额,通常是可以接受的,也算是让代付的人一点点小奖励

    我觉得程序员做功能,不能只用理科脑袋去思考,还是要更多的想想你这个场景是什么
    AA 收款这个场景肯定主要就是好友之间的 AA ,最终几分钱的不平等没啥人计较(真有计较的人,那就不是支付宝的问题了)
    如果楼主的产品是一些更加严谨的场合,那么还是要想一想怎么处理会比较符合用户的使用逻辑和习惯,特别是对公业务每一分钱都应当符合会计准则,这也需要跨专业的沟通了
    Chrisone
        43
    Chrisone  
       4 天前
    roll 一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:27 · PVG 19:27 · LAX 04:27 · JFK 07:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.