已合作成功的客户
遍及全国及海外
中国
杭州,绍兴,宁波,湖州,嘉兴,温州,台州,上海,北京,南京,苏州,常州,无锡,长沙,青岛,江西,台湾,南宁,海南,成都,哈尔滨,深圳,香港,沈阳 ...
海外
美国,加拿大,丹麦,澳大利亚,新加坡,法国,智利,日本,英国 ...
合作咨询
4001-355-360
0.1 + 0.2 ≠ 0.3
作者:admin
来源:lanyunwork
时间:2026-03-06
分享到:
0.1+0.2,结果出来是0.30000000000000004,跟0.3对不上。但别以为所有语言都这样——比如用“十进制存数”的库(像Python的decimal、Java的BigDecimal),或者专门算数学公式的语言(像Mathematica),就能算准。但大部分语言为了快,用了个叫IEEE 754的“浮点数标准”,这就绕不开这个坑。101),但小数麻烦了——它用“二进制科学计数法”,跟十进制的1.23×10²类似,只不过底数是2。0.0001100110011...(0011无限循环),根本写不完。0.2呢?就是0.1的二进制左移一位,也是无限循环;0.3同理,也是无限循环。0.10000000000000000555...(比你以为的0.1大了一丢丢);0.2存的是0.2000000000000000111...(也比0.2大一点)。俩“大概齐”的数加起来,结果自然是0.30000000000000004,而不是精确的0.3。获取方案