python int() round() floor()函数的比较

2021-01-25 10:25:44 浏览数 (1)

参考链接: 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 -------------------- >>>

0 人点赞