十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
首先,不得不提醒大家一個(gè)容易被忽視或者搞混的問(wèn)題——一般的,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所見(jiàn),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)取整,具體就是按照四舍五入來(lái)。但值得一提的是這里對(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
簡(jiǎn)單且忠實(shí)地向下取整,不再討論
兩個(gè)有趣且特殊的python取整:int()、整除"http://"
int()
int(-0.5) >>> 0 int(-0.9) >>> 0 int(0.5) >>> 0 int(0.9) >>> 0
一句話總結(jié):int()函數(shù)是“向0取整”,取整方向總是讓結(jié)果比小數(shù)的絕對(duì)值更小
"http://"
(-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()處理結(jié)果一樣
總結(jié)一下:
向上取整:math.ceil()
向下取整:math.floor()、整除"http://"
四舍五入:round()——奇數(shù)向遠(yuǎn)離0取整,偶數(shù)去尾取整;或言之:奇數(shù)進(jìn)位,偶數(shù)去尾
向0取整:int()