python 地板除法(floor)和截?cái)喑?trunc)

math.floor() & math.trunc()

math.floor 和 math.trunc的官方不同版本的介紹如下:

math.floor: 
    python2.7:  Return the floor of x as a float, the largest integer value less than or equal to x.
    python3.5:  Return the floor of x, the largest integer less than or equal to x. If x is not a float, delegates to x.__floor__(), which should return an Integral value.

math.trunc:
    python2.7:  Return the Real value x truncated to an Integral (usually a long integer). Uses the __trunc__ method.
    python3.5:  Return the Real value x truncated to an Integral (usually an integer). Delegates to x.__trunc__().


math.ceil:
    python2.7:  Return the ceiling of x as a float, the smallest integer value greater than or equal to x.
    python3.5:  Return the ceiling of x, the smallest integer greater than or equal to x. If x is not a float, delegates to x.__ceil__(), which should return an Integral value.

先上具體的例子:

腳本中附加了math.ceil函數(shù)(和math.floor對立)

root@pts/4 $ cat python_math_floor_and_trunc.py
#!/usr/bin/env pyton
#-*- codingL utf-8 -*-


import math

a = 3
b = 3.12
c = 3.67

print('-'*20+'a = 3; b = 3.12; c = 3.67'+'-'*20)
print('-'*20+'math.ceil a b c'+'-'*20)
print(math.ceil(a))
print(math.ceil(b))
print(math.ceil(c))

print('-'*20+'math.floor a b c'+'-'*20)
print(math.floor(a))
print(math.floor(b))
print(math.floor(c))


print('-'*20+'math.trunc a b c'+'-'*20)
print(math.trunc(a))
print(math.trunc(b))
print(math.trunc(c))

在Python2.7下的運(yùn)行結(jié)果是:

root@pts/4 $ python python_math_floor_and_trunc.py
--------------------a = 3; b = 3.12; c = 3.67--------------------
--------------------math.ceil a b c--------------------
3.0
4.0
4.0
--------------------math.floor a b c--------------------
3.0
3.0
3.0
--------------------math.trunc a b c--------------------
3
3
3

在Python3.5下的運(yùn)行結(jié)果是:

root@pts/5 $ python python_math_floor_and_trunc.py
--------------------a = 3; b = 3.12; c = 3.67--------------------
--------------------math.ceil a b c--------------------
3
4
4
--------------------math.floor a b c--------------------
3
3
3
--------------------math.trunc a b c--------------------
3
3
3
總結(jié)來說:
    math.trunc 不管是在Python2.7或者是Python3.5版本中最終的結(jié)果都是`截?cái)郹之后的`整數(shù)`

    math.ceil/math.floor 在Python2.7版本返回值是`浮點(diǎn)數(shù)`;在python3.5版本是`整數(shù)`
    math.ceil 是返回 大于或者等于當(dāng)前值的`最小整數(shù)`
    math.floor 是返回 小于或者等于當(dāng)前值的`最大整數(shù)`
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容