查看原文
其他

10%+10% 不等于 0.2?

苏生不惑 苏生不惑 2022-03-18


看到这个标题,你可能会觉得震惊,怎么会不是0.2呢?

最近在知乎上看到这个有意思的问题,为什么手机上的计算器计算 10%+10% 都错了,结果不是0.2,而是0.11。

第一感觉是不可思议,赶紧拿出我的华为手机(EMUI版本为9.1)测试了下,果然是0.11!



看看谷歌的计算器,0.2没错。



但是搜索计算器 再计算的结果却是0.11,很奇怪。


然后在在线自动问答系统搜索引擎wolframalpha上看看https://www.wolframalpha.com/input/?i=10%25%2B10%25



它给出了3种结果,有0.2和0.11 。


ps:wolframalpha这个网站计算数学公式很不错,比如开根号算黄金分割比 



搜索了下苹果和小米等手机都是如此。


然而魅族手机却是个例外。


魅族副总裁在微博上的解释是这样的 https://weibo.com/1444241363/I554TgDEs?

本质上并不是对或错的问题,我们只是考虑的更多,增加了人性化的算法判断。10%+10%=0.11 这个是国外的使用逻辑,而国内的算数逻辑是 10%+10%=0.2,所以我们针对不同地区的固件做了不同的算法判断。

算小费等特殊场景,很多国家餐厅吃饭给10-20%的小费,这时100+10%相当于100+100*10%,相当方便的一种人性化设计。


所以10%+10%是按照10%+(10% x 10%)这个逻辑得出0.11的结果,对应的10+10%就是11。

只能说国内和国外使用习惯不同,中国人没有付小费的习惯,而且我们一般是用0.1+0.1算的,这应该算计算器的feature,不算bug。


看看你的手机计算器结果是0.2还是0.11?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存