1.向下取整
向下取整可以直接用 int() 函数:
a = 1.1
print(int(a))
结果: 1
2.四舍五入
对数字进行四舍五入用 round() 函数:
a = 1.1
b = 1.8
print(round(a))
print(round(b))
结果: 1 2
3.向上取整
向上取整需要用到 math 模块中的 ceil() 方法:
import math
a = 1.1
print(math.ceil(a))
结果: 2
4.分别取整数部分和小数部分
分别获取整数部分和小数部分时可以用 math 模块中的 modf() 方法,该方法返回一个包含小数部分和整数部分的元组:
import math
print(math.modf(3.25))
print(math.modf(3.75))
print(math.modf(4.2))
结果: (0.25, 3.0) (0.75, 3.0) (0.20000000000000018, 4.0)
有人可能会对最后一个输出结果感到诧异,按理说它应该返回 (0.2, 4.0) 才对。这里涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数。(这一段我也不太明白,反正只要记住就好)
那么如何控制浮点数只显示小数点后两位呢~~~
1.print(‘%.2f’%a)
2.trunc(a,2)
3.round(a, 2)
但round用于这种案例就不行了
a=13.949999999999999
round(a, 2)
13.949999999999999
而上两种可以。。。