float除法的算法,python float取整
从python2.2开始,有两种除法运算符:“/”、“//”。两者最大的区别是:
默认情况下,在python2.2之前和python2.2之前以及Python 3.0之前,当出现两个或两个以上的数时,“/”所做的除法是浮点数,即浮点数除法“//”所做的除法方法不同。无论两者中出现任何一个数,都以除法结果为准,小数部分不做处理,直接丢弃,即整除。
关于“/”:
3/21 3/2 . 01 . 5 3.0/21.5 10/3.03 . 3333333333335从上面的例子可以得出,只要除数中的以下是笔者在编译器测试的数据,测试的版本是python2.7是浮点数,得到的结果也是浮点数。
以下是关于“//”的内容:
3//21 3//2 . 01 . 0 3.0//21.0 3.0//2 . 01 . 0从上面的例子我们可以看出,如果两个整数相除,仍然得到整数,但是。如果浮点数除以非浮点数,它仍然是浮点数。但是,计算的结果是忽略小数部分。运算的结果类似于两个整数相除,但得到的是一个浮点数。另外,//对于两个浮点数也不例外。
“/”和“//”怎么分工
默认情况下,这两个操作符有很大的重叠。例如,当两个数字都是整数时,两个运算符没有区别。如果想在python中两者分工明确。也就是说,/可以用于浮点数除法,//可以用于除法。我们可以在程序开始时做如下声明:
声明from __future__ import division后的测试结果(下面测试的版本是python2.7)
浮动_ _未来_ _进口司3/21.5 3.0/21.5 3/2.01 . 5 3.0/2.01 . 5 3//21 3.0//21.0 3.0//2.01 . 0 3//2.01 . 0-11/
还需要注意的是,在有一个数中,/表示浮点除法,不需要引入模块。即使分子和分母都是整数,返回的浮点数也是浮点数。
作者:凯尔
链接:https://www.jianshu.com/p/9034aafb50aa
来源:简书
版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。