以程序员的视角看为什么骑车忘锁会变成欠两千万

话题:骑车忘锁 3天欠费2千万 竟是系统升级导致
 
近日,一条骑共享单车忘锁 3天欠费2千万的新闻引发了网友热议。到底这BUG谁背锅?
 
李先生介绍,他在秦园路一家房产中介上班,他此前注册过摩拜单车,本月初去广西旅游时重新开始使用。24日上午,他从团结新村骑车到秦园路上班,可能忘了关锁,直到27日傍晚准备和朋友骑单车去看电影时,才发现自己试用单车23个小时,账户欠款34元。李先生随后拨通了客服电话,客服人员称出于人性化考虑,可以免除这次扣费,但要扣除李先生15分信用分。过了10多分钟后,李先生查看自己账户,发现信用分确实扣了,但账户余额没有归零,而是显示欠费2147万多元,而且尾数一直在增长。他致电客服,客服人员让他不急,称会解决此事。
 
 
7月31上午,李先生的账户数字停留在欠费21474778元。记者联系上摩拜单车相关负责人,其称系统会有不定期更新升级,极个别用户会遇到类似问题。可以拨打客服电话,app端上报故障,或者通过摩拜单车相关微博微信反馈问题,客服人员收到反馈后即刻会按照实际余额修复,用户无需担心。
 
关于这一事件,有人懂行的网友分析是程序员的锅,因为该用户的欠费数字十分接近int类型极限数字,即-2147483648至2147483647;

微信截图_20181127140004.png

 
 
程序员网友评论: 
科普一下,这个钱还真跟最大值有点关系。2147483647,如果单位是分,整数部分就是21474836元。。而这件事儿里的21474778,跟int 最大值 21474836就差58块钱。。也就是说,这个系统的钱很可能是以分为单位的 int 型值。。。至于你说钱用不用 int 存储的问题,你查查支付宝和微信的支付接口,我记得其中一个就是要的以分为单位的int型值。。而且,int能满足需求了,为啥不用呢?

0 个评论

要回复文章请先登录注册