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

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

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

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

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

    供参考

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

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

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

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


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

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

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

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

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

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

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

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