2011-01-19 5 views

답변

29

decimal 모듈이 편리합니다.

>>> from decimal import * 
>>> getcontext().prec = 100 
>>> Decimal(2).sqrt() 
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573') 
+0

완벽한 evalf(). 고맙습니다! – clayton33

7

당신은 임의의 정밀도 수의 decimal 모듈을 사용할 수 있습니다 : 당신이 속도를 결합 능력의 같은 종류가 필요한 경우

import decimal 

d2 = decimal.Decimal(2) 

# Add a context with an arbitrary precision of 100 
dot100 = decimal.Context(prec=100) 

print d2.sqrt(dot100) 

, 몇 가지 다른 옵션이 있습니다 : [gmpy, 2, cdecimal .

1

gmpy2을 사용할 수 있습니다. 내가 찾던 정확히

import gmpy2 
ctx = gmpy2.get_context() 
ctx.precision = 300 
print(gmpy2.sqrt(2)) 
0
당신은 sympy 사용할 수 있습니다

from sympy import sqrt 
print(sqrt(2).evalf(101)) 
관련 문제