首页 > 解决方案 > 数学模块中的ceil函数问题

问题描述

通过执行以下计算

p=math.ceil(57050*1.12)

我收到 63897。但是其他工具(例如 Excel)提供 63896。

我需要使用 ceil (向上取整),因为该过程是更大模型的一部分,我无法对这个特定值(57050)进行例外处理。问题是我需要将当前模型从 Excel 导入 Python,并且所有计算都提供相同的值非常重要。

我想知道是否有办法将“ceil”的精度调整为小数点后 10 位。我该如何调整它,或者我还能做些什么,不是那么严重,这样它就不会给其他价值观带来问题?

预期结果:63896

实际结果:63897

标签: pythonmathceil

解决方案


本质上,如果您只想使前 10 位小数相关,您可以执行以下操作:

def ceil(n):
    return math.ceil(int(n*10**10)/10**10)

推荐阅读