舍入两个相似的数字并得到不同的结果Python



我试图在Python中比较两个不同的值:59.72559.72497和.

我使用Python round函数将它们四舍五入,因为做df.round(2)不能按我需要的方式工作:

def round_df_columns(df, col_list):
for col_name in col_list:
for x in df[col_name]:
rounded_x = round(x, 2)
df[col_name] = df[col_name].replace(x, rounded_x)
return df
然而,当我这样做时,我得到59.7359.72和。有没有办法把这些值四舍五入,使它们都等于59.73?我找不到类似的问题,但很抱歉,如果这是重复的。谢谢!

简单的解决方案是使用math.ceil

import math
x = math.ceil(100 * 59.72497) / 100
print(x)
y = math.ceil(100 * 59.725) / 100
print(y)

输出

59.73
59.73

如果您希望它们始终四舍五入,请在四舍五入之前将值添加0.005。例如

rounded_x = round(x + 0.005, 2)

相关内容

  • 没有找到相关文章

最新更新