编程趣事 100元x100元是否等于10000分x10000分

在软件开发中,接口联调常遇单位换算难题。本文以金额单位元与分的转换为例,深入探讨单位在数学运算中的角色,揭示单位换算的误区,帮助开发者正确理解金额数据处理。

在软件开发过程中,接口联调是实现项目交互无法避免的,在联调过程中会出现一些数据之间的转换的问题,例如基本数据类型的转换、换算单位之间的转换等等,今天我们就通过金额分与元做切入点,聊一聊换算单位之间的转换!

前两天一个同事接到一个任务,A系统和另一个平台B做联调,业务是B平台入参调A系统接口,A系统经过一系列计算等等得出结果后返回给B,然而A系统金额单位是“分”,而B平台金额单位则是“元”,结果该同事就为何时将分转换为元,陷入了纠结之中。最后实在想不通,就找到了我。

他的疑虑是这样的:

 100元*100元=10000元   两个100块相乘到最后得到的是10000块

换成分的话  10000分*10000分=100000000分  分再转换成元100000000分/100=1000000元

这样算的话数据就平白无故多了两个0,所以他最终认为设计到金额相关数据应该在在计算前换算好,我总觉得哪里有问题,可当时并没有找到问题出在哪里,所以当时便默许了他的方案。

这个问题在纠结了两天之后,终于有了答案,答案就是这小子不光自己钻牛角尖,连带着把我也带进沟里了。

先追溯到小学二年级的时候,我们学习乘法口诀的时候会有这样一道题:

一辆车一次可以拉10捆柴,10次可以拉多少捆?答案明显就是

    10捆*10=100捆

在这道问题中,很明显,后面的乘数的单位并不是捆,二十次,最终的答案100捆每10次,也就是说10次可以拉100捆

根据这个线索继续思考,又思考到一个问题

1米*1米=1米?  很显然答案是否定的,结果是1平方米。无独有偶,压力/受力面积=压强......

最后得出了结论,在计算过程中,不光数据计算,单位也会跟着计算,所以

100元*100元≠10000元     而是   100元*100元=10000平方元

10000分*10000分≠100000000分  而是  10000分*10000分=100000000平方分=10000平方元

在回顾以往的编程时光,金额之间相乘并不存在,它就是个伪命题,例如五险一金、津贴、年终奖、订单金额等等,跟金额相乘的都只是系数而已,所以这个问题确实是钻牛角尖了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值