首页 > 解决方案 > 在没有 math.ceil() 的情况下向上舍入数学计算?

问题描述

我正在开发一个没有math可用模块的系统。安装的所有“数学”函数(math.ceil(),math.round()等都会产生错误)。

我什至尝试过使用import mathwhich 产量:

<type 'ImportError'>
__import__ not found

当前困扰我的问题:如何在没有 的情况下将数学计算四舍五入为整数math.ceil

标签: pythonmathmissing-features

解决方案


如果x是要向上舍入为整数的浮点数,并且需要整数类型结果,则可以使用

rounded_up_x = int(-(-x // 1))

这是有效的,因为整数除以一向下舍入,但在进行除法之前和之后使用负号会舍入相反的方向。这里int将浮点结果转换为整数。int如果您想要一个等于整数的浮点值,请删除它,这是某些编程语言所做的。

向@D.LaRocque 致敬,指出 Python 的ceil()函数返回整数类型。


推荐阅读