在Python中对一个数取整
1.向下取整
使用 math.floor()
函数可以将一个数向下取整,即取不大于该数的最大整数。
import math
num = 3.7
result = math.floor(num)
print(result) # 输出 3
对于负数,math.floor()
会取更小的整数:
num = -3.7
result = math.floor(num)
print(result) # 输出 -4
2.向上取整
使用 math.ceil()
函数可以将一个数向上取整,即取不小于该数的最小整数。
import math
num = 3.2
result = math.ceil(num)
print(result) # 输出 4
对于负数,math.ceil()
会取更大的整数:
num = -3.2
result = math.ceil(num)
print(result) # 输出 -3
3.向零取整
直接使用 int()
函数可以将一个浮点数转换为整数,但这种方式是向零取整,即去掉小数部分。
num = 3.7
result = int(num)
print(result) # 输出 3
num = -3.7
result = int(num)
print(result) # 输出 -3
4.四舍五入取整
使用内置的 round()
函数可以对一个数进行四舍五入取整。
num = 3.7
result = round(num)
print(result) # 输出 4
num = 3.2
result = round(num)
print(result) # 输出 3
需要注意的是,当小数部分为 0.5 时,round()
的行为可能与预期不同。在 Python 中,round()
采用的是“银行家舍入法”,即如果小数部分为 0.5,会将数字舍入到最接近的偶数。
num = 3.5
result = round(num)
print(result) # 输出 4
num = 4.5
result = round(num)
print(result) # 输出 4
5.标准四舍五入
在 Python 中,可以使用 math
模块中的 floor()
和 ceil()
函数来实现标准四舍五入。
import math
def standard_round(num):
if num - math.floor(num) < 0.5:
return math.floor(num)
else:
return math.ceil(num)
# 测试
print(standard_round(3.4)) # 输出 3
print(standard_round(3.5)) # 输出 4
print(standard_round(3.6)) # 输出 4
print(standard_round(-3.4)) # 输出 -3
print(standard_round(-3.5)) # 输出 -4
print(standard_round(-3.6)) # 输出 -4