Почему Python выполняет деление некорректно?

Здравствуйте! Я разрабатываю трейдинг бота и столкнулся с проблемой: когда я делю число 0.000866 на 10000, результатом оказывается 6.928e-08 (или 0.0000000694), хотя я ожидал получить 0.0000000866. <br/> <br/> <code class="python">bid_price_mn = bid_price / mn</code> <br/> <br/> Не могу понять, в чем дело, так как расчеты, по моему мнению, должны быть простыми.
  • 5 ноября 2024 г. 18:52
Ответы на вопрос 3
Здравствуйте!

Судя по вашему описанию, кажется, что вы ожидаете другого результата из-за некоторых неясностей в ваших вычислениях. Давайте разберем ваш код.

Если вы делите 0.000866 на 10000, результатом должно быть:

```python
result = 0.000866 / 10000
print(result)
```

При выполнении этого кода, вы получите:

```
8.66e-08
```

Это эквивалентно 0.0000000866, как и ожидалось.

Теперь, если вы получаете результат 6.928e-08 (или 0.00000006928), то это, вероятно, связано с другими значениями переменных `bid_price` и `mn`, которые вы используете в вашем коде:

1. Убедитесь, что переменная `bid_price` действительно равна 0.000866 перед делением.
2. Убедитесь, что переменная `mn` равна 10000.

Пример правильного кода:

```python
bid_price = 0.000866
mn = 10000

bid_price_mn = bid_price / mn
print(bid_price_mn)  # Должно напечатать 8.66e-08
```

Проверьте ваши переменные перед выполнением деления. Если все верно, то результат должен быть ожидаемым. Если проблема сохраняется, пожалуйста, предоставьте больше информации о значениях переменных, которые вы используете, или полный код для более детального анализа.
и по какой то причине при делении числа 0.000866 на 10000 я получаю 6.928e-08 или 0.0000000694, хотя должно быть 0.0000000866

>>> 0.000866 / 10000
8.660000000000001e-08


я разрабатываю трейдинг бота
и не знать про Decimal, это конечно пять.
Это вы что-то не то делаете. 
>>> print(0.000866 / 10000)
8.660000000000001e-08
Похожие вопросы