Как получить длинную версию поплавка? - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь решить проблему 26 из Project Euler, и мне интересно, как показать длинную версию числа с плавающей запятой. Например, если у нас есть 1/19, как нам получить 64, 128 или более цифр этого числа с плавающей запятой в python? Еще более полезной встроенной функцией будет возвращать числа после десятичной дроби до тех пор, пока она не повторится? Я знаю, что числа с плавающей запятой технически хранят десятичные точки до определенной точки, а затем раунд, чтобы все было эффективно с точки зрения памяти, но есть ли способ перегрузить это, пока вы не получите повторяющуюся часть? Я бы предположил, что такая функция создаст исключение для иррационального числа, но есть ли функция, которая работает хотя бы для рациональных чисел?

1 Ответ

1 голос
/ 08 мая 2020

См. Тип данных Decimal.

from decimal import *
getcontext().prec = 64
print(Decimal(1) / Decimal(19))

https://docs.python.org/3/library/decimal.html

...