​​​​ 10%+10% 不等于 0.2? | 苏生不惑的博客

10%+10% 不等于 0.2?

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

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

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

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

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

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

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

ps:wolframalpha这个网站计算数学很不错,比如黄金分割比0.618
image.png

再看看国家统计局的解释
http://www.stats.gov.cn/tjzs/tjcd/200205/t20020523_25320.html
https://cn.v2ex.com/t/597205?p=1
image.png

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

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

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

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

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

image.png

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

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

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

免费星球

公众号:苏生不惑

扫描二维码关注