以下是问题所在:
>>> 16/float(1184000)返回:
1.3513513513513513e-05如果我尝试在这个数字上运行math.ceil,我得到的是"1“而不是"2”
>>>math.ceil(16/float(1184000))返回:
1.0这看起来很奇怪,有什么办法解决这个问题吗?
发布于 2013-06-20 07:40:55
看起来你错过了强大的力量:-05
这个数字实际上是:
>>> '{:.20f}'.format(16/float(1184000))
'0.00001351351351351351'所以答案是正确的。
发布于 2013-06-20 07:41:57
数字1是大于16/1184000的最小整数。这就是math.ceil()所做的。
1.35135135135135135e-05介于0和1之间,因此您的两个答案是一致的。
上面的数字被理解为"1.3513513513513513乘以10的负5次方“。
https://stackoverflow.com/questions/17203102
复制相似问题