python 如何设置 精度
python里整数已经是任意长度的,但浮点数有地方设置精度吗?
比如 1.0/3 我需要38位精度,怎么设?
'%10.50f'%(1.0/3) 这没用的,我要内部计算精度,不是显示位数.
用1E60/3 结果错误
用1000000000000000000000000000000/3.0 这样的 可以 但要转换,如果要求log(4542)这样的就不好转换了
比如 1.0/3 我需要38位精度,怎么设?
'%10.50f'%(1.0/3) 这没用的,我要内部计算精度,不是显示位数.
用1E60/3 结果错误
用1000000000000000000000000000000/3.0 这样的 可以 但要转换,如果要求log(4542)这样的就不好转换了
作者: qqjue 发布时间: 2011-05-13
decimal module
>>> from decimal import *
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')
如果有更高的要求或者更加复杂的计算 可以考虑扩展库
>>> from decimal import *
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')
如果有更高的要求或者更加复杂的计算 可以考虑扩展库
作者: ccporxy 发布时间: 2011-05-13