python保留整數(shù)的方法?
總結(jié)一下:向上取整:math.ceil()
向下取整:math.floor()、整除"//"
四舍五入:round()——奇數(shù)向遠(yuǎn)離0取整,偶數(shù)去尾取整;或言之:奇數(shù)進(jìn)位,偶數(shù)去尾
向0取整:int()
一般的,0.5這種末尾是5的小數(shù),四舍五入取整應(yīng)進(jìn)位。這個(gè)進(jìn)位的意思是:-0.5 → -1;0.5 → 1.即正負(fù)情況不同,都向著遠(yuǎn)離0,使得絕對(duì)值更大的方向進(jìn)位
向上取整:math.ceil()
import math
math.ceil(-0.5)
>>> 0
math.ceil(-0.9)
>>> 0
math.ceil(0.3)
>>> 1
如code所見,math.ceil()嚴(yán)格遵循向上取整,所有小數(shù)都是向著數(shù)值更大的方向取整,不論正負(fù)數(shù)都如此
四舍五入: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()當(dāng)不傳入第二個(gè)參數(shù)時(shí)默認(rèn)取整,具體就是按照四舍五入來。但值得一提的是這里對(duì)小數(shù)末尾為5的處理方法:當(dāng)末尾的5的前一位為奇數(shù):向絕對(duì)值更大的方向取整(比如-1.5、1.5處理結(jié)果);當(dāng)末尾的5的前一位為偶數(shù):去尾取整(比如-2.5,-0.5,0.5和2.5的處理結(jié)果)。
向下取整:math.floor()
math.floor(-0.3)
>>> -1
math.floor(0.9)
>>> 0
簡單且忠實(shí)地向下取整
兩個(gè)有趣且特殊的Python取整:int()、整除"//"
int()
int(-0.5)
>>> 0
int(-0.9)
>>> 0
int(0.5)
>>> 0
int(0.9)
>>> 0
一句話總結(jié):int()函數(shù)是“向0取整”,取整方向總是讓結(jié)果比小數(shù)的絕對(duì)值更小
"//"
(-1) // 2 # -0.5
>>> -1
(-3) // 2 # -1.5
>>> -2
1 // 2 # 0.5
>>> 0
3 // 2 # 1.5
>>> 1
一句話總結(jié):“整除”符號(hào)運(yùn)算將結(jié)果忠實(shí)地向下取整,與math.floor()處理