Задать вопрос
@andrew053

Почему пайтон делит не верно?

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

bid_price_mn = bid_price / mn

Вроде бы все должно быть просто
  • Вопрос задан
  • 278 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это вы что-то не то делаете.
>>> print(0.000866 / 10000)
8.660000000000001e-08
Ответ написан
Комментировать
@Everything_is_bad
и по какой то причине при делении числа 0.000866 на 10000 я получаю 6.928e-08 или 0.0000000694, хотя должно быть 0.0000000866

>>> 0.000866 / 10000
8.660000000000001e-08


я разрабатываю трейдинг бота
и не знать про Decimal, это конечно пять.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
belokopytova
@belokopytova
6.928e-08 - это экспоненциальная запись числа при выводе, она используется, если у чисел float после точки много нулей.

Попробуй такой код с модулем decimal

import decimal

decimal.getcontext().prec = 12

a = decimal.Decimal('0.000866')
b = decimal.Decimal("10000")

print(format((a / b), 'f'))


Чтобы управлять точностью вычислений, нужно менять параметр getcontext().prec
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы