【转】Python数据处理(四舍五入、除法部分)

转自:https://www.cnblogs.com/junyiningyuan/p/5338378.html

关于除法

  • 传统除法

        对两个整数进行除的运算,同时结果会舍去小数部分,返回一个整数。但如果操作数之一是浮点型,则执行真正的除法。

  • 真正的除法

         返回真实的商,不管操作数的类似是整数还是浮点数

         需要执行如下指令将传统除法转换为真正的除法

1
from  __future__   import  division
  • 地板除

         不管操作数为何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字,操作符“//”

 举例:

1
2
3
4
5
6
7
>>>  print  "5/3传统除法:" , 5 / 3
5 / 3 传统除法:  1
>>>  from  __future__   import  division
>>>  print  "5/3真正的除法:" , 5 / 3
5 / 3 真正的除法:  1.66666666667
>>>  print  "5/3地板除:" , 5.0 / / 3
5 / 3 地板除:  1.0

  

关于取整

      常用的直接就是int(),但会发现是直接把小数部分去掉了的整数,有的时候不是我们要的,学习了下int,floor,round的区别

扫描二维码关注公众号,回复: 5305861 查看本文章
  • int() 直接截去小数部分(返回值为整型)
  • floor()得到的是最接近原数但小于原数的整型(返回值为浮点型)  
  • round()得到最接近原数的整型(返回值为浮点型)

举例:

    

1
2
3
4
5
6
7
>>>  import  math
>>>  int ( 3.67 )
3
>>> math.floor( 3.67 )
3.0
>>>  round ( 3.67 )
4.0

  

如上只是针对python2.X版本的情况,python3.X版本已经有了变化。

如下为python3.3版本的对应变化

关于除法

  •  传统除法

          python3.3版本中的传统除法就是真正的除法,不管除数和被除数是否为整数,结果都是真实的商。

  •   地板除

          python3.3版本中保留了地板除。

举例:

1
2
3
4
>>>  print  ( "传统除法:" , 1 / 2 )
传统除法:  0.5
>>>  print  ( "地板除:" , 1 / / 2 )
地板除:  0

 关于取整

python3.3中的int()和floor()、round()的运算方式没变动,只是最终的返回结果都是整型

举例:

1
2
3
4
5
6
7
8
9
10
11
>>>  int ( 1.9 )
1
>>>  import  math
>>> math.floor( 1.2 )
1
>>>  type (math.floor( 1.2 ))
< class  'int' >
>>>  round ( 1.6 )
2
>>>  type ( round ( 1.6 ))
< class  'int' >

  

 
 

猜你喜欢

转载自www.cnblogs.com/xianhan/p/10428173.html