注:
本文转载于Python取整及保留小数小结,对原文作者深表感谢!以下内容仅根据原文稍作变量名的更改~

1. int() 向下取整 内置函数
a = 3.75
print(int(a))
>>> 3
b = 3.25
print(int(b))
>>> 3
2. round() 四舍五入 内置函数
a = 3.75
print(round(a))
>>> 4
b = 3.25
print(round(b))
>>> 3
c = 2.85
print(round(c,1))  # 保留一位小数
>>> 2.9
3. floor() 向下取整 math模块函数

floor的英文释义:地板。顾名思义也是向下取整。

import math
a = 3.75
print(math.floor(a))
>>> 3
b = 3.25
print(math.floor(b))
>>> 3
4. ceil() 向上取整 math模块函数

ceil的英文释义:天花板。顾名思义也是向上取整。

import math
a = 3.75
print(math.ceil(a))
>>> 4
b = 3.25
print(math.ceil(b))
>>> 4
5. modf() 分别取小数部分和整数部分 math模块函数

该方法返回一个包含小数部分和整数部分的元组。

import math
a = 3.75
print(math.modf(a))
>>> (0.75, 3.0)
b = 3.25
print(math.modf(b))
>>> (0.25, 3.0)
c = 4.2
print(math.modf(c))
(0.20000000000000018, 4.0)

最后一个的输出,涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数。


6. 保留一位小数

三种方法

print(round(10/3,1))
print('%.1f'%(10/3))
print(format(10/3,'.1f'))
>>> 3.3