Я был очень разочарован, когда decimal.Decimal(math.sqrt(2)) дал
Decimal('1.4142135623730951454746218587388284504413604736328125')
и цифры после пятнадцатого десятичного разряда оказались ошибочными. (Несмотря на счастливое предоставление вам более 15 цифр!)
Как я могу получить первые m правильные цифры в десятичном расширении sqrt(n) в Python?