Python——取整的几种方法

来源:互联网 发布:db2 sql获取当前时间 编辑:程序博客网 时间:2024/05/16 17:39

1.向下取整
向下取整可以直接用 int() 函数:

a = 1.1print(int(a))

结果: 1

2.四舍五入
对数字进行四舍五入用 round() 函数:

a = 1.1b = 1.8print(round(a))print(round(b))

结果: 1 2

3.向上取整
向上取整需要用到 math 模块中的 ceil() 方法:

import matha = 1.1print(math.ceil(a))

结果: 2

4.分别取整数部分和小数部分
分别获取整数部分和小数部分时可以用 math 模块中的 modf() 方法,该方法返回一个包含小数部分和整数部分的元组:

import mathprint(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
而上两种可以。。。

原创粉丝点击