總結一下:
向上取整:()
向下取整:r()、整除"//"
四捨五入:round()——奇數向遠離0取整,偶數去尾取整或言之:奇數進位,偶數去尾
向0取整:int()
一般的,0.5這種末尾是5的小數,四捨五入取整應進位。這個進位的意思是:-0.5 → -10.5 → 1.即正負情況不同,都向着遠離0,使得絕對值更大的方向進位
向上取整:()
import math
(-0.5)
>>> 0
(-0.9)
>>> 0
(0.3)
>>> 1
如code所見,()嚴格遵循向上取整,所有小數都是向着數值更大的方向取整,不論正負數都如此
四捨五入:round()
round(-2.5)
>>> -2
round(-1.5)
>>> -2
round(-0.5)
>>> 0
round(0.5)
>>> 1
round(1.5)
>>> 2
round(2.5)
>>> 2
如code所示,round()當不傳入第二個參數時默認取整,具體就是按照四捨五入來。但值得一提的是這裏對小數末尾為5的處理方法:當末尾的5的前一位為奇數:向絕對值更大的方向取整(比如-1.5、1.5處理結果)當末尾的5的前一位為偶數:去尾取整(比如-2.5,-0.5,0.5和2.5的處理結果)。
向下取整:r()
r(-0.3)
>>> -1
r(0.9)
>>> 0
簡單且忠實地向下取整
兩個有趣且特殊的Python取整:int()、整除"//"
int()
int(-0.5)
>>> 0
int(-0.9)
>>> 0
int(0.5)
>>> 0
int(0.9)
>>> 0
一句話總結:int()函數是“向0取整”,取整方向總是讓結果比小數的絕對值更小
"//"
(-1) // 2  # -0.5
>>> -1
(-3) // 2  # -1.5
>>> -2
1 // 2    # 0.5
>>> 0
3 // 2    # 1.5
>>> 1
一句話總結:“整除”符號運算將結果忠實地向下取整,與r()處理