参考链接: Python int()
猛的一看 int() round() math.floor() 这几个函数函数好像做的是同一件事情,很容易将他们弄混,下面是他们的一些不同之处:
int()函数直接截去小数部分floor() 得到最接近原数但是小于原数的部分round()得到最接近原数的整数(返回为浮点类型)
如下面的例子:
import math for eachnum in (.2,.7,1.2,1.7,-.2,-.7,-1.2,-1.7): print"int(%.1f)t% .1f"%(eachnum,float(int(eachnum))) print"floor(%.1f)t% .1f"%(eachnum,math.floor(eachnum)) print "round(%.1f)t% .1f"%(eachnum,round(eachnum)) print'-'*20
>>> int(0.2) 0.0 floor(0.2) 0.0 round(0.2) 0.0 -------------------- int(0.7) 0.0 floor(0.7) 0.0 round(0.7) 1.0 -------------------- int(1.2) 1.0 floor(1.2) 1.0 round(1.2) 1.0 -------------------- int(1.7) 1.0 floor(1.7) 1.0 round(1.7) 2.0 -------------------- int(-0.2) 0.0 floor(-0.2) -1.0 round(-0.2) -0.0 -------------------- int(-0.7) 0.0 floor(-0.7) -1.0 round(-0.7) -1.0 -------------------- int(-1.2) -1.0 floor(-1.2) -2.0 round(-1.2) -1.0 -------------------- int(-1.7) -1.0 floor(-1.7) -2.0 round(-1.7) -2.0 -------------------- >>>