sum()的问题,讨论区看到的我也想不通
>>> tuple1 = (3.1,2.3,3.4)>>> sum(tuple1,1)
9.799999999999999
这是什么原因啊?
为什么1会转化为0.99999....了?
sum(iterable, start=0, /)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
sum里头没有找到有关的解释
tuple里也没找到。
同问。
有人回答一下吗?不懂啊 ZoeLee 发表于 2017-2-19 20:38
有人回答一下吗?不懂啊
关键在于sum(8.8,1)这个计算环节
计算机采用二进制,进行运算都要先转换为二进制数字,
机加时,会进行与,或计算。得到和,
再转换为十进制数表示。
9.8的十进制浮点数经计算机转换,表示为9.7999999
这是计算机本身的限制问题。
页:
[1]