如何打印出√2的100位小数?
我试过很多方法,但就是不知道怎么打印出平方根2的小数点后100位。使用decimal.Decimal好像被计算本身给影响了。有没有什么好主意?
import decimal
import math
decimal.getcontext().dps = 100 #arbitrary
print(decimal.Decimal(math.sqrt(2)))
1 个回答
4
math.sqrt(2)
这个函数会返回一个 浮点数 的值,但这个浮点数的精度不够,无法满足你的要求。你可以使用 Decimal.sqrt()
来代替:
>>> from decimal import Decimal, localcontext
>>> with localcontext() as ctx:
... ctx.prec = 100
... Decimal(2).sqrt()
...
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')