Bre*_*ent 2 python rounding python-2.7
我有一个浮点数,我想将其四舍五入为整数,但总是向上舍入(其中“向上”表示幅度更大)
例如,4.2 将四舍五入为 5,-4.2 将四舍五入为 -5.0
是否有一种内置于 Python 中的好方法来做到这一点?如果没有,您会推荐什么作为执行此操作的最有效方法?
最初我只是使用math.ceil(), 直到我意识到math.ceil(4.2)给出 5,而math.ceil(-4.2)给出 -4,这不是我想要的。
解决这个问题的一种方法是使用ceil正数和floor负数,但是代码开始看起来非常糟糕,到处都是内联 if 语句(我在多个地方使用这个操作)
另一种可能性可能是类似的东西math.copysign( math.ceil( abs( x ) ), x ),这似乎也有点过分
但是代码开始看起来非常糟糕,到处都是内联 if 语句(我在多个地方使用这个操作)
然后写一个函数:
def myround(flt):
return math.ceil(flt) if flt > 0.0 else math.floor(flt)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |