错误的舍入计算和不完整的发送密钥(Python selenium)



很抱歉我的英语不好或者解释不好。(NOOBIE)

脚本应该将一个值四舍五入到十进制1并进行一些计算,然后通过selenium将其发送到网站上的输入框。

amount_value = round(equity/price, 1)  
if amount_value > (equity/price):            # Fix the excess
amount_value = amount_value - 0.1        # -0.1 if the rounded is larger than original
amount_leverage = amount_value * 5           # OUTPUT
print(amount_leverage)
amount.send_keys(Keys.BACK_SPACE + Keys.BACK_SPACE + Keys.BACK_SPACE + Keys.BACK_SPACE + Keys.BACK_SPACE + Keys.BACK_SPACE + Keys.BACK_SPACE)
amount.send_keys(amount_leverage)            # Send the output inside the input box

问题是2:

  1. 有时计算工作,输出是500.0,500.5(示例),但在其他情况下输出是500.000000006(应该是1小数点)
  2. 当输出被发送到输入框时,它会丢失点(如果输入框中是500.5,它会写5005),它一直工作到昨天,输入框允许小数点。

3奖金。我如何替换最后第二行中的所有退格并在selenium中执行CTRL+a,退格?

在代码中,如果值四舍五入,则删除0.1。

由于计算机处理浮点数的方式,这会导致轻微的计算错误。例如,在python解释器中输入以下内容:

>>> 0.4 - 0.1

您将收到:

0.30000000000000004

我建议使用floor来舍入到小数点后一位,像这样:

math.floor(NUMBER*10)/10

如果没有更多关于站点输入后面的HTML代码的信息,我无法确定为什么小数点没有被正确输入。请把表格本身寄上。