1

这是问题:

>>> 16/float(1184000)

返回:

1.3513513513513513e-05

如果我尝试在这个数字上运行 math.ceil,我会得到“1”而不是“2”

>>>math.ceil(16/float(1184000))

返回:

1.0

这似乎很奇怪,任何想法如何解决这个问题?

4

2 回答 2

2

好像你错过了力量: -05:

这个数字实际上是:

>>> '{:.20f}'.format(16/float(1184000))
'0.00001351351351351351'

所以答案是正确的。

于 2013-06-19T23:40:54.703 回答
2

数字 1 是大于 16/1184000 的最小整数。就是math.ceil()这样。

1.3513513513513513e-05 介于0和1之间,所以你的两个答案是一致的。

上面的数字读作“1.3513513513513513 乘以 10 的负 5 次方”。

于 2013-06-19T23:41:57.127 回答