При обрезке больших десятичных знаков в результате деления возникает проблема переполнения.
E.g.:
>>> from math import floor
>>> int(100000000000000123.1)
100000000000000128
>>> floor(100000000000000123.1)
100000000000000128
Из типа видно, что число представляет собой обычное число с плавающей точкой, и оно не может быть сохранено с необходимой точностью. Так что даже с floor () я сталкиваюсь с той же проблемой.
Есть ли лучший тип данных для хранения «длинных чисел с плавающей запятой»? И если да, как я могу заставить подразделения bigints не возвращать float низкой точности?
Кстати, я использую Python 3.6 64-bit.