2011-01-19 35 views

Respuesta

29

decimal módulo es muy útil.

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

perfecto, exactamente lo que estaba buscando. ¡gracias! – clayton33

7

Puede utilizar el módulo decimal para los números de precisión arbitraria:

import decimal 

d2 = decimal.Decimal(2) 

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

print d2.sqrt(dot100) 

Si necesita el mismo tipo de capacidad junto con la velocidad, hay algunas otras opciones: [gmpy], 2, cdecimal .

1

Puede usar gmpy2.

import gmpy2 
ctx = gmpy2.get_context() 
ctx.precision = 300 
print(gmpy2.sqrt(2)) 
0

Puede utilizar sympy y evalf()

from sympy import sqrt 
print(sqrt(2).evalf(101)) 
Cuestiones relacionadas