Python 各种除法 四舍五入 向下取整 向上取整

本文从WordPress迁移而来, 查看全部WordPress迁移文章

普通除法 /

1
2
3
4
5
6
7
8
9
10
11
根据操作数不同结果不同

a = 1
b = 2
a/b = 0
两者都是整数,那么结果就是除法的整数部分,和c语言里面的/是一样的

a = 1.0
b = 2.0
a/b = 0.5
两者中只要有1一个是浮点数,那么结果就是精确的除法,这点和c语言还是一样的

取整除法 //

1
2
3
4
5
6
a = 1.0
b = 2.0
a//b = 0
与操作数的类型无关,返回的一定是结果的整数部分
如果两个数都是整数,a//b 等同于 a/b
如果有一个为浮点数,a//b = x.0 x就是结果的整数部分,如果要得到整数,可以 int(a//b)

如果希望两个整数相除,得到精确值

1
2
3
4
from __future__ import division**
a = 1
b = 2
a/b = 0.5

内置函数 divmod()

1
2
3
4
divmod(a,b) = (a//b,a%b)
a = 13
b = 2
divmod(a,b) = (6,1)

四舍五入,内置函数round

1
2
a = 2.3
round(a) = 2.0

向下取整,向上取整,都是在math模块中,floor,ceil

1
2
3
a = 2.4
math.floor(a) = 2.0
math.ceil(a) = 3.0