如何在Robot Framework中获取不向上取整的两位小数?
保留两位小数且不四舍五入的实现方法
你当前使用的"%.2f" % 1.027会触发四舍五入逻辑,因此得到1.03。要实现截断式保留两位小数,可在Robot Framework中通过以下方式解决:
方法一:数值运算截断
通过将目标数值乘以100后取整数部分,再除以100,直接截断多余小数位:
${result}= Evaluate int(1.027 * 100) / 100
执行后${result}的值为1.02,完全符合需求。如果是变量,替换为对应变量名即可:
${num}= Set Variable 1.027 ${result}= Evaluate int(${num} * 100) / 100
该方法对负数同样有效,例如int(-1.027 * 100) / 100会得到-1.02,符合截断要求。
方法二:字符串切片截断(适用于固定格式数值)
将数值转为字符串后,截取到小数点后两位的位置:
${result}= Evaluate str(1.027).split('.')[0] + '.' + str(1.027).split('.')[1][:2]
这种方式需要确保数值为带小数的格式,若为整数需额外处理,推荐优先使用方法一。
内容的提问来源于stack exchange,提问作者harman singh
相关产品推荐
相关产品推荐

