地板功能对于正数和负数不对称

Ton*_*moy -7 python math floor

我使用的是Python 3.4.3.该math.floor功能为我提供了正面和负面数字的不同答案.例如:

>>> math.floor (19.8)
19

>>> math.floor (-19.8)
-20
Run Code Online (Sandbox Code Playgroud)

为什么我在答案中得到了这个差异?

Zda*_*daR 11

根据文件:

将x的底限作为float返回,最大整数值小于或等于x.

math.floor()始终返回最接近的较低整数值.牢记这一点,-20<-19.8<-19所以-20按预期返回.

另一方面,对于正整数,比如说5.5 5<5.5<6,那么math.floor()这里将返回5.

  • 它还匹配[楼层函数的数学定义](https://math.stackexchange.com/questions/344815/how-do-the-floor-and-ceiling-functions-work-on-negative-numbers)。他描述的是截断函数,`math.trunc()`,它返回参数的整数部分。 (3认同)