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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WYW0103/article/details/8491398

猛的一看  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
--------------------
>>>

展开阅读全文

没有更多推荐了,返回首页