我刚学习了Python中的Decimal类,但在修改小数的精度时遇到了一些问题。代码如下:
from decimal import *
def main() :
getcontext().prec = 50
print Decimal(748327402479023).sqrt()
if __name__ == '__main__' :
main()
输出结果:
27355573.51764029457632865944595074348085555311409538
1.414213562373095048801688724209698078569671875376948
与其显示50个小数位,它总共只显示了50个数字。有没有办法解决这个问题?
编辑:
我正在解决一个需要大浮点数精度的问题。这就是为什么我必须使用Python的原因。现在,如果问题的答案是0.55,我应该打印出0.55后面跟着48个零...
print "{:.50f}".format(d)
- pavel_form