是否有“ceil或floor”功能?

时间:2014-07-06 16:56:51

标签: python math

我正在寻找一个函数,给定一个浮点数,将返回浮动的一个int或舍入到最近的int的int。模块中是否有内置或可用的东西?

以下代码可以解决问题,但我避免重新发明轮子。

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 个答案:

答案 0 :(得分:1)

它被称为round

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

但是rounds to even numbers on .5

答案 1 :(得分:-3)

将值转换为int,小数点右侧的值消失(截断)。

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