查看长浮点数

时间:2015-12-03 10:56:47

标签: python floating-point

如果您键入一个非常长的浮点数并将其存储在某个变量x中,如果您调用print(x)或类似的内容,则会得到一个较短的数字。

有没有办法克服这个问题并查看变量中存储的所有数字,或者至少显示一定数量的数字?

例如,假设我想要两个平方根:

>>> import math
>>> math.sqrt(2)
1.4142135623730951
>>> math.modf(math.sqrt(2))
(0.41421356237309515, 1.0)
>>> sqrtOfTwo=math.modf(math.sqrt(2))
>>> print(sqrtOfTwo[0]+sqrtOfTwo[1])
1.4142135623730951

当我打电话给sqrt时,我得到一个显示为16位小数的浮点数。但是,当我调用modf时,浮点数显示为小数点后17位。

说我想看2的平方根,比方说,20个小数位。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

要显示给定精度的浮点数,您可以使用.format()方法:

print "{:.20f}".format(math.sqrt(2))
>>> 1.41421356237309514547

或者根据Lexy的评论,您也可以使用:

format(math.sqrt(2), ".20f")