在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

你可能感兴趣的:(python)