一个关于提现手续费问题

2018-03-13 10:22:22 +08:00
 tojike

本人最近在弄一个提现功能,就是微信的企业打款,代码写得差不多了,但是最近遇到了一个一直想不通的提现手续费问题。 产品狗要求提现要收手续费 8%。比如我我的余额就 2 元 1、全部提现 2-20.08=1.84 也就是我最多拿 1.84 元 2、奇葩提现 假如我就提 1.84 , 那么结果是 1.84-1.840.08 = 0.1 最后我的余额会多出 0.1 出来

问题:
1、同样是能拿到的都是 1.84 元,为什么一个会多出 0.01 来?好苦恼,想不通。最重要的是:产品狗认为这是 bug。
2、有没有好的解决方法?或者怎么说服产品狗?
5597 次点击
所在节点    PHP
30 条回复
tojike
2018-03-13 10:26:38 +08:00
最后那个结果写错了 是 2-( 1.84+1.84*0.08 )=0.01 ,反正就是会多出 0.01 元出来
sea516
2018-03-13 10:30:18 +08:00
产品智力有问题?
Tianao
2018-03-13 10:31:42 +08:00
楼主的计算没看懂,不知道是不是精度问题……考虑一下单次提现最低手续费?
FFLY
2018-03-13 10:32:04 +08:00
2 - (2 * 0.08) = 1.84 ,2 * 0.08 = 0.16
1.84 - (1.84 *0.08) = 1.6928,1.84 *0.08 = 0.1472

问题就在进位上啊
Antonidas
2018-03-13 10:33:56 +08:00
我好奇什么业务会收 8%的提现手续费...
pkookp8
2018-03-13 10:38:31 +08:00
就我看不懂吗。。。。为什么说同样拿到 1.84
明明一次 1.84,一次 1.69 啊
3pmtea
2018-03-13 10:38:32 +08:00
第一种情况里,提现人交了(对应于 2 元的手续费),但是实际上只提了 1.84 元,明显提现人亏了
tojike
2018-03-13 10:39:04 +08:00
@sea516 产品可能是个 zz,但是问题还是得想办法解决,或者想办法说服他

@Tianao 单次最低手续费这个建议可以,我去提一下 多谢。

@FFLY 问题就像你说的,很纠结。头大了两天了
b821025551b
2018-03-13 10:39:42 +08:00
关键点不就是精度问题么。。。。这个主要是产品来定,比分还小的单位是上取整还是下取整。
sea516
2018-03-13 10:40:40 +08:00
一次提 2 元,一次提 1.84 元 有什么好纠结的?
pelloz
2018-03-13 10:40:48 +08:00
提现手续费应该从提出来的钱里面扣除,而不是从剩下的钱里面扣除。在第二种情况,应该这么算:
提现:1.84
实际拿到:1.84*0.92=1.69
余额:2-1.84=0.16
tojike
2018-03-13 10:42:33 +08:00
@pkookp8 余额是 2 元 的情况下 最做拿 1.84 ,但是提 1.84 就不一样了 1.84*0.08 = 0.1472(0.15 这里四舍五入了) , 2-( 1.84 (提现金额)+0.15 (手续费)) = 0.01
580a388da131
2018-03-13 10:45:48 +08:00
2 块手续费 0.16
1.84 手续费 0.1472 四舍五入 0.15
qiayue
2018-03-13 10:47:25 +08:00
换一种思路就好了,8%相当于平台分成。
账户余额是分成之前的双方共同所有的钱,只不过大头是用户的,小头是平台的。
每次用户提现,都需要拿出 8%留给平台。
比如提现 2 元,平台得到 0.16 元,用户得到 1.84 元。
就不需要再拿 1.84 去计算 8%了。

还有另一种情况,假设余额是 2.1 元,那么 8%就是 0.168 元,这个时候就需要你们制定好规则,是用四舍五入(平台得 0.17 ),还是直接取整(平台得 0.16 )。
tojike
2018-03-13 10:48:31 +08:00
@pelloz 感谢,我感觉自己被绕进去了。应该是按照你说的那样才符合逻辑 :提现手续费应该从提出来的钱里面扣除
Jarvix
2018-03-13 10:49:07 +08:00
不出意外,功能上线后 1 天内又要改了
tojike
2018-03-13 10:50:48 +08:00
纠结了两天,感觉自己功力还是不够。不管怎么样感谢大家。
pkookp8
2018-03-13 11:04:51 +08:00
@tojike 那就是四舍五入了。。。只算手续费或只算拿到的钱然后四舍五入,另一种用原始金额减一下就没这个问题了
raphaelsoul
2018-03-13 11:27:01 +08:00
货币计算以分为单位是坠吼的 全整数运算取整可以避免大多数精度问题
nmdx
2018-03-13 11:27:43 +08:00
自己看看微信钱包的提现。

拿我的 195.72 举例子,点击全部提现,提现金额自动填入 195.52 。 小字说明扣除 0.2 元(0.1 %)手续费

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX