手机计算器出现一个错误:输入“10+10”后不是0.2

热点追踪

近日,一则“手机计算器阵亡”的消息登上各大热搜榜。不少网友发现自己的手机计算器出现错误:在手机计算器输入“10%+10%”后,得到的结果不是0.2,而是0.11 . 科技日报记者用自己的华为手机测试,结果也是0.11。

不少网友测试后发现,苹果、华为、三星、OPPO、vivo、小米等手机给出的计算结果都是0.11,只有国产魅族、锤子、努比亚手机。type的最终计算结果为0.2。

那么,到底为什么手机计算器会犯这样的基本错误呢?导致此错误的机制是什么?

图片[1]-手机计算器出现一个错误:输入“10+10”后不是0.2-老王博客

经过多次核实,科技日报记者了解到,其实手机计算器上出现的这种情况并不能算是错误,主要是非科学计算器和科学计算器对输入符号的理解不同。人们在计算时,会尊重计算中加减乘除的优先级。先做乘除用js做计算器,再做加减。结果是 10%+10%=0.2。

但是根据非科学计算器的计算逻辑,部分手机中的计算器APP考虑的是连续百分比计算,即“10%+10%”是按照10%+(10%×10 %),所以结果为0.11,所以最终结果与常理不符。这只是因为计算器使用的算法逻辑不同,并不是计算错误。

非科学计算器的计算逻辑,默认连续百分比计算不是“10%+10%”用js做计算器,而是“10%+(10%×10%)”。科技日报记者在小米手机计算器中测试,“5+10%结果为5.5”、“20%+10%结果为0.22”,分别在符合这个计算逻辑。

华为荣耀事业部总裁赵明在微博上表示,这里其实是有背景的,就是在小费等特殊场景下,很多顾客在一些国家的餐厅用餐后会给10%到20%的小费。在设备中输入“100+10%”相当于“100+100×10%”,简化了输入步骤,是一种非常方便的人性化设计。

魅族科技副总裁华海亮也在微博上发文:“其实这本质上不是对错的问题,我们只是考虑多了,加入了人性化的算法判断。’10%+10%=0.@ >11’这是国外使用的逻辑,而国内的算术逻辑是’10%+10%=0.2’,所以我们APP针对不同的地区做了不同的算法判断。” (陆承宽)

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论