问题在于:
>>> 16/float(1184000)
返回:
1.3513513513513513e-05
如果我尝试在这个数字上运行math.ceil,我会得到“1”而不是“2”
>>>math.ceil(16/float(1184000))
返回:
1.0
这看起来很奇怪,任何想法如何解决这个问题?
答案 0 :(得分:2)
好像你错过了力量:-05
:
这个数字实际上是:
>>> '{:.20f}'.format(16/float(1184000))
'0.00001351351351351351'
所以答案是正确的。
答案 1 :(得分:2)
数字1是大于16/1184000的最小整数。这就是math.ceil()
所做的。
1.3513513513513513e-05介于0和1之间,因此您的两个答案是一致的。
上面的数字读作“1.3513513513513513乘以10到负5次幂。”