为什么Python的math.ceil()和math.floor()操作返回浮点而不是整数?

问题:

有人可以解释(直接从docs – 重点我的):

 math.ceil(x)的返回x as a float的上限,最小的integer值大于或等于x。
 math.floor(x)的返回x as a float的最底层,最大的integer值小于或等于x。

为什么.ceil.floor根据定义计算整数时会返回浮点数?
 编辑:
那么这有一些非常好的论据,为什么他们should返回浮点数,我只是习惯了这个想法,当@jcollado指出他们实际上do在Python 3中返回int …

回答:

浮点数的范围通常超过整数范围。通过返回浮点值,函数可以返回位于可表示整数范围之外的输入值的合理值。
考虑:如果floor()返回一个整数,floor(1.0e30)应该返回什么?
现在,虽然Python的整数现在是任意的精度,但并不总是这样。标准库函数是相当于C库函数的薄包装器。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why do Python’s math.ceil() and math.floor() operations return floats instead of integers?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 + 4 =