为什么 math.ceil 返回 1.0 而不是 6.0?如果我删除 math.ceil ,则返回值为 5.54815801154e-07
num = math.ceil(float(.25) / (float(100) * 4506))
print num
returns 1.0
你对科学记数法感到困惑。
ceil(.00000055) = 1
eN
你看,是计算机的表达方式,*10^N
就像你在学校看到的那样。
因此,5.5e-7
= 5.5*10^-7
。
>>> float(.25) / (float(100) * 4506)
5.5481580115401685e-07
并ceil()
返回下一个大于在这种情况下为 1 的值的整数。
math.ceil
返回大于或等于 x 的最小整数值。5.54815801154e-07 实际上并不是 5,而是一个很小的数字。所以最接近的整数值是 1。