如何将 float 转换为 int 并将其从零舍入而不是向下舍入

问题描述 投票:0回答:1

我想编写一个函数,将浮点数作为输入并将其从零舍入,即返回获得的整数 通过对正浮点数进行向上舍入,对负浮点数进行向下舍入。返回值应该始终 是一个 int 对象。考虑下面的例子。

>>> round_away_from_zero(7.2)
8
>>> round_away_from_zero(-3.6)
-4
>>> round_away_from_zero(5.0)
5

有没有简单的解决方案? 我知道它与楼层划分有关(即 x//2),但不确定如何实现它。

python rounding
1个回答
3
投票

您可以使用 IF 语句。如果数字是正数,那么我们使用

math.ceil()
。否则,我们使用
math.floor()

def round_away_from_zero(n):
    if n > 0: 
        return math.ceil(n)
    return math.floor(n)
© www.soinside.com 2019 - 2024. All rights reserved.