有“向上或向下”函数吗?

1 投票
2 回答
2539 浏览
提问于 2025-04-18 12:17

我在找一个函数,它可以把一个浮点数(小数)转换成一个整数,方法是向下取整或者四舍五入到最近的整数。有没有这样的内置函数或者模块可以用呢?

下面的代码可以实现这个功能,但我不想重复造轮子。

import math

def realround(number):
    _, d = divmod(number, 1)
    if d > 0.5:
        return int(math.ceil(number))
    else:
        return int(math.floor(number))

print(realround(12.3))
print(realround(14.5))
print(realround(15.8))

2 个回答

-2

把这个值转换成整数,意思是小数点右边的部分会被去掉(就是截断)。

print(int(12.3))
print(int(14.5))
print(int(15.8))
2

这个东西叫做 round

print(round(12.3))
print(round(14.5))
print(round(15.8))

不过,它在遇到 .5 的时候,会把数字四舍五入到最近的偶数。

撰写回答