在没有 math.ceil() 的情况下对数学计算进行四舍五入?

Edw*_*rdB 1 python math missing-features

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

我什至尝试使用import mathwhich 产生:

<type 'ImportError'>
__import__ not found
Run Code Online (Sandbox Code Playgroud)

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

Ror*_*ton 7

如果x是一个浮点数,你想四舍五入为一个整数,并且你想要一个整数类型的结果,你可以使用

rounded_up_x = int(-(-x // 1))
Run Code Online (Sandbox Code Playgroud)

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

感谢@D.LaRocque 指出 Python 的ceil()函数返回一个整数类型。